Machine-readable data

Using these data in future analyses

About the dataset

The data are provided as part of the packaged analysis.

library(spunk)
head(spunk_dat)
# A tibble: 6 × 13
  outcome intervention  class moderator study control intervention_me…
  <chr>   <chr>         <chr> <chr>     <chr> <chr>              <dbl>
1 count   omega-3 fatt… omeg… varicoce… abba… placeb…             81.6
2 count   vitamin d3    vita… subferti… amin… placeb…             88.3
3 count   vitamin/mine… vita… varicoce… zade… placeb…             41.3
4 count   zinc/zinc + … mine… varicoce… aziz… placeb…             47.6
5 count   zinc/zinc + … mine… varicoce… aziz… placeb…             39.6
6 count   folic acid    vita… varicoce… aziz… placeb…             49.1
# … with 6 more variables: intervention_sd <dbl>,
#   intervention_n <dbl>, control_mean <dbl>, control_sd <dbl>,
#   control_n <dbl>, mean_difference <dbl>
# use devtools to install a package from github repository
install.packages("devtools")

# install packaged analysis
devtools::install_github("softloud/spunk")

# load packaged analysis
library(spunk)

# load data
data(spunk_dat)
# columns in data
names(spunk_dat)
 [1] "outcome"           "intervention"      "class"            
 [4] "moderator"         "study"             "control"          
 [7] "intervention_mean" "intervention_sd"   "intervention_n"   
[10] "control_mean"      "control_sd"        "control_n"        
[13] "mean_difference"  
# description of each column
?spunk_dat

The analyses provided in the associated Cochrane review are summaries and overviews. These data provide a means of doing several different future analyses.

More specific analyses

Researchers may be interested in investigating one specific intervention from the various interventions in the dataset. Here we provide two tables with summary information about interventions in the first, and class in the second.

See Summary tables in Living analyses for detailed information about the interventions and classes included in this analysis.

Analyse specific classes and interventions

These data can be readily accessed by filtering by intervention using tidyverse::.

library(tidyverse)
conflicted::conflict_prefer("filter", "dplyr")

spunk_dat %>% 
  filter(intervention == "folic acid")
# A tibble: 13 × 13
   outcome intervention class moderator study control intervention_me…
   <chr>   <chr>        <chr> <chr>     <chr> <chr>              <dbl>
 1 count   folic acid   vita… varicoce… aziz… placeb…            49.1 
 2 count   folic acid   vita… subferti… silv… placeb…            26.1 
 3 count   folic acid   vita… oligoast… raig… placeb…            16.3 
 4 count   folic acid   vita… subferti… wong… placeb…            50.2 
 5 volume  folic acid   vita… subferti… wong… placeb…             3.3 
 6 motili… folic acid   vita… varicoce… aziz… placeb…            51.5 
 7 motili… folic acid   vita… subferti… silv… placeb…            69.6 
 8 motili… folic acid   vita… oligoast… raig… placeb…            33.2 
 9 motili… folic acid   vita… subferti… wong… placeb…            35   
10 morpho… folic acid   vita… varicoce… aziz… placeb…            53.7 
11 morpho… folic acid   vita… subferti… silv… placeb…            23.9 
12 morpho… folic acid   vita… oligoast… raig… placeb…             6   
13 morpho… folic acid   vita… subferti… wong… placeb…             2.28
# … with 6 more variables: intervention_sd <dbl>,
#   intervention_n <dbl>, control_mean <dbl>, control_sd <dbl>,
#   control_n <dbl>, mean_difference <dbl>

Filters can be combined. For example, we might only interested in studies that reported morphology comparisons with folic acid and placebo.

spunk_dat %>% 
  filter(
    outcome == "morphology",
    intervention == "folic acid",
    str_detect(control, "placebo")
  )
# A tibble: 4 × 13
  outcome  intervention class moderator study control intervention_me…
  <chr>    <chr>        <chr> <chr>     <chr> <chr>              <dbl>
1 morphol… folic acid   vita… varicoce… aziz… placeb…            53.7 
2 morphol… folic acid   vita… subferti… silv… placeb…            23.9 
3 morphol… folic acid   vita… oligoast… raig… placeb…             6   
4 morphol… folic acid   vita… subferti… wong… placeb…             2.28
# … with 6 more variables: intervention_sd <dbl>,
#   intervention_n <dbl>, control_mean <dbl>, control_sd <dbl>,
#   control_n <dbl>, mean_difference <dbl>

Or perhaps researchers are interested in all studies that compared coenzyme-q10 with placebo, but allow for combined interventions.

spunk_dat %>% 
  filter(
    str_detect(intervention, "coenzyme-q10")
    )
# A tibble: 4 × 13
  outcome  intervention class moderator study control intervention_me…
  <chr>    <chr>        <chr> <chr>     <chr> <chr>              <dbl>
1 count    coenzyme-q1… diet… oligoast… gopi… placeb…             33.2
2 count    coenzyme-q1… diet… oligoast… gopi… placeb…             31.6
3 motility coenzyme-q1… diet… oligoast… gopi… placeb…             57.4
4 motility coenzyme-q1… diet… oligoast… gopi… placeb…             55.8
# … with 6 more variables: intervention_sd <dbl>,
#   intervention_n <dbl>, control_mean <dbl>, control_sd <dbl>,
#   control_n <dbl>, mean_difference <dbl>

Class-level analysis data can be extracted in a similar manner.

spunk_dat %>% 
  filter(
    class == "coenzymes"
  )
# A tibble: 15 × 13
   outcome intervention class moderator study control intervention_me…
   <chr>   <chr>        <chr> <chr>     <chr> <chr>              <dbl>
 1 count   coenzyme q10 coen… asthenoz… bale… placeb…            44.2 
 2 count   coenzyme q10 coen… oligoast… nadj… placeb…            16.1 
 3 count   coenzyme q10 coen… oligoast… safa… placeb…            22.8 
 4 count   coenzyme q10 coen… oligoast… safa… placeb…            22.4 
 5 volume  coenzyme q10 coen… oligoast… nadj… placeb…             3.97
 6 volume  coenzyme q10 coen… oligoast… safa… placeb…             2.7 
 7 volume  coenzyme q10 coen… oligoast… safa… placeb…             2.7 
 8 motili… coenzyme q10 coen… asthenoz… bale… placeb…            32.9 
 9 motili… coenzyme q10 coen… oligoast… nadj… placeb…            41.9 
10 motili… coenzyme q10 coen… oligoast… safa… placeb…            24.2 
11 motili… coenzyme q10 coen… oligoast… safa… placeb…            31.2 
12 morpho… coenzyme q10 coen… asthenoz… bale… placeb…            27.1 
13 morpho… coenzyme q10 coen… oligoast… nadj… placeb…             6.52
14 morpho… coenzyme q10 coen… oligoast… safa… placeb…             8.2 
15 morpho… coenzyme q10 coen… oligoast… safa… placeb…            15.2 
# … with 6 more variables: intervention_sd <dbl>,
#   intervention_n <dbl>, control_mean <dbl>, control_sd <dbl>,
#   control_n <dbl>, mean_difference <dbl>

Exporting data

These data are then exportable. For example, if we want to export a dataset to a .csv format so that it can be imported into different software platforms.

# create a dataset object to write
coenzyme_dat <-
  spunk_dat %>%
  filter(class == "coenzymes")

# write data to .csv file
write_csv(coenzyme_dat, "coenzyme_dat.csv")