Raw Data import

library(tidyverse)
library(metafor)
library(ggthemes)
library(cowplot)
library(scales)
library(broom)
library(dplyr)
library(readxl)
library(gsheet)
library(janitor)
library(cowplot)


rust <- gsheet2tbl("https://docs.google.com/spreadsheets/d/1Xx_gK6ERLLhQGIrOPB_ZYs9LoHTmsv030s30Dc_TPzg/edit#gid=287066174", sheetid = "2015-2020")


rust %>% 
  group_by(study)
length(unique(rust$study))
## [1] 177

Summarrising data (mean and variance)

rust1 <- rust %>% 
  group_by(study, year, location, state, n_spray, brand_name) %>% 
  summarise(mean_sev = mean(sev),
            mean_yld = mean(yld))
## `summarise()` regrouping output by 'study', 'year', 'location', 'state', 'n_spray' (override with `.groups` argument)
rust_sev <- rust %>% 
  group_by(study, year) %>%  
  select(brand_name, rep, sev) %>%
  group_by(study, year) %>% 
  do(tidy(aov(.$sev ~ .$brand_name + factor(.$rep)))) %>% 
  filter(term == "Residuals") %>% 
  select(1,2,6) %>% 
  set_names(c("study", "year", "v_sev"))
## Adding missing grouping variables: `study`, `year`
rust_yld <- rust %>% 
  filter(yld>0) %>% 
  group_by(study, year) %>% 
  select(brand_name, rep, yld) %>% 
  group_by(study, year) %>% 
  do(tidy(aov(.$yld ~ .$brand_name + factor(.$rep)))) %>% 
  filter(term == "Residuals") %>% 
  select(1,2,6) %>% 
  set_names(c("study", "year", "v_yld"))
## Adding missing grouping variables: `study`, `year`
qmr = left_join(rust_sev, rust_yld)
## Joining, by = c("study", "year")
rust_trial = full_join(rust1, qmr)
## Joining, by = c("study", "year")
rust_trial

Exploratory analysis

By year

library(janitor) 
a1 = rust_trial %>%
  group_by(study,year) %>% 
  summarise() %>% 
  tabyl(year)
## `summarise()` regrouping output by 'study' (override with `.groups` argument)
a1

By year and n_spray

library(janitor) 
a1 = rust_trial %>%
  group_by(study,year,n_spray) %>% 
  summarise() %>%
  tabyl(n_spray, year)
## `summarise()` regrouping output by 'study', 'year' (override with `.groups` argument)
a1

By location

rust_trial %>%
  group_by(study,location) %>% 
  summarise() %>%
  tabyl(location)
## `summarise()` regrouping output by 'study' (override with `.groups` argument)
rust %>% 
  group_by(location)
length(unique(rust$location))
## [1] 46

By state

a2 = rust_trial %>%
  group_by(study,state) %>% 
  summarise() %>% 
  tabyl(state)
## `summarise()` regrouping output by 'study' (override with `.groups` argument)
a2

By active ingredient

a3 = rust_trial %>%
  group_by(study,brand_name) %>% 
  summarise() %>% 
  tabyl(brand_name) %>% 
  filter(n>100)
## `summarise()` regrouping output by 'study' (override with `.groups` argument)
a3

By active ingredient and year

rust_trial %>%
  tabyl(brand_name,year)

By active ingredient and n_spray

rust_trial %>%
  tabyl(brand_name,n_spray)

Selected Fungicides

rust3 <- rust_trial %>% 
  filter(brand_name %in% c("CHECK", "Aproach Prima", "Ativum", "Elatus", "FOX", "FOX Xpro", "Horos", "SphereMax", "Vessarya")) 


rust3 %>%
  tabyl(brand_name, year)
# Renaming the treatments 
library(plyr)
## ------------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## ------------------------------------------------------------------------------
## 
## Attaching package: 'plyr'
## The following object is masked from 'package:here':
## 
##     here
## The following object is masked from 'package:ggpubr':
## 
##     mutate
## The following objects are masked from 'package:dplyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise,
##     summarize
## The following object is masked from 'package:purrr':
## 
##     compact
rust3$brand_name <- revalue(rust3$brand_name, c("CHECK" = "AACHECK"))
rust3$brand_name <- revalue(rust3$brand_name, c("FOX" = "TFLX + PROT"))
rust3$brand_name <- revalue(rust3$brand_name, c("FOX Xpro" = "BIXF + TFLX + PROT"))
rust3$brand_name <- revalue(rust3$brand_name, c("Horos" = "PICO + TEBU"))
rust3$brand_name <- revalue(rust3$brand_name, c("SphereMax" = "TFLX + CYPR"))
rust3$brand_name <- revalue(rust3$brand_name, c("Ativum" = "PYRA + EPOX + FLUX"))
rust3$brand_name <- revalue(rust3$brand_name, c("Elatus" = "AZOX + BENZ"))
rust3$brand_name <- revalue(rust3$brand_name, c("Vessarya" = "PICO + BENZ"))
rust3$brand_name <- revalue(rust3$brand_name, c("Aproach Prima" = "PICO + CYPR"))
detach("package:plyr", unload = TRUE)

Check columns

# these two columns will be used as moderator variables later
sbr_check = rust3 %>% 
  ungroup() %>% 
  filter(brand_name == "AACHECK")  %>% 
  mutate(check = brand_name, sev_check = mean_sev, v_sev_check = v_sev, yld_check = mean_yld, v_yld_check = v_yld ) %>% 
  select(study, yld_check, v_yld_check, sev_check, v_sev_check)

sbr_data = rust3 %>% 
  full_join(sbr_check)
## Joining, by = "study"

Create datasets

Severity Index

rust_sev <- sbr_data %>% 
  filter(mean_sev != "NA") %>% 
  filter(mean_sev>0)

hist(rust_sev$mean_sev)

# create the log of the sev variable
rust_sev <- rust_sev %>%
  mutate(log_sev = log(mean_sev))
hist(rust_sev$log_sev)

# create the sampling variance for the log of sev
rust_sev$vi_sev <- with(rust_sev, v_sev / (4 * mean_sev^2))

summary(rust_sev$vi_sev)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##   0.00000   0.00093   0.00307   0.24779   0.01193 149.30794
rust_sev <- rust_sev %>%
  group_by(study) %>% 
  mutate(n2 = n()) %>% 
  filter(n2 != 1)

Design groups

rust_sev1 = rust_sev %>% 
  group_by(study) %>% 
  summarise(brand_name1=paste(brand_name, collapse=';')) 
## `summarise()` ungrouping output (override with `.groups` argument)
rust_sev1 %>% 
  tabyl(brand_name1)

Ten different designs (here design refers to the set of treatments in the trial) were found in the trials reporting SBR severity.

design1 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(1, length(brand_name))) %>% 
  filter(n2 == 9) %>% 
  filter(n3 == 9)
design1
design2 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(2, length(brand_name))) %>% 
  filter(n2 == 8) %>% 
  filter(n3 == 8)
design2
design3 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "BIXF + TFLX + PROT", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(3, length(brand_name))) %>% 
  filter(n2 == 8) %>% 
  filter(n3 == 8)
design3
design4 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "TFLX + PROT", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(4, length(brand_name))) %>% 
  filter(n2 == 8) %>% 
  filter(n3 == 8)
design4
design5 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(5, length(brand_name))) %>% 
  filter(n2 == 8) %>% 
  filter(n3 == 8)
design5
design6 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(6, length(brand_name))) %>% 
  filter(n2 == 7) %>% 
  filter(n3 == 7)
design6
design7 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "AACHECK", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(7, length(brand_name))) %>% 
  filter(n2 == 6) %>% 
  filter(n3 == 6)
design7
design8 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "PICO + TEBU", "TFLX + CYPR")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(8, length(brand_name))) %>% 
  filter(n2 == 6) %>% 
  filter(n3 == 6)
design8
design9 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "PICO + TEBU")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(9, length(brand_name))) %>% 
  filter(n2 == 5) %>% 
  filter(n3 == 5)
design9
design10 = rust_sev %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "AACHECK", "AZOX + BENZ", "PICO + TEBU")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(10, length(brand_name))) %>% 
  filter(n2 == 4) %>% 
  filter(n3 == 4)
design10
sbr_sev_design = rbind(design1, design2, design3, design4, design5, design6, design7, design8, design9, design10)


sbr_sev_design %>% 
  group_by(study,design) %>% 
  summarize() %>% 
  tabyl(design)
## `summarise()` regrouping output by 'study' (override with `.groups` argument)
library(readr)
write_csv(sbr_sev_design, "data/dat-sev.csv")


library(knitr)
library(tidyverse)
rust_sev <- read_csv("data/dat-sev.csv")
## 
## -- Column specification --------------------------------------------------------
## cols(
##   study = col_double(),
##   year = col_double(),
##   location = col_character(),
##   state = col_character(),
##   n_spray = col_double(),
##   brand_name = col_character(),
##   mean_sev = col_double(),
##   mean_yld = col_double(),
##   v_sev = col_double(),
##   v_yld = col_double(),
##   yld_check = col_double(),
##   v_yld_check = col_double(),
##   sev_check = col_double(),
##   v_sev_check = col_double(),
##   log_sev = col_double(),
##   vi_sev = col_double(),
##   n2 = col_double(),
##   n3 = col_double(),
##   design = col_double()
## )
rust_sev %>% 
  group_by(study)
length(unique(rust_sev$study))
## [1] 177
rust_sev %>% 
tabyl(state)
length(unique(rust_sev$study))
## [1] 177
summary(rust_sev$sev_check)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   6.125  56.825  72.500  69.263  85.000 100.000
median = rust_sev %>% 
  group_by(study, year, brand_name) %>% 
  filter(brand_name == "AACHECK") %>% 
  summarise(median = median(sev_check)) %>% 
  filter(median>60)
## `summarise()` regrouping output by 'study', 'year' (override with `.groups` argument)
length(unique(median$study))
## [1] 127
rust_sev %>%
  tabyl(brand_name, year)
rust_sev %>%
  tabyl(brand_name)

Yield

rust_yld <- sbr_data %>% 
  filter(mean_yld != "NA")

# Sampling variance for yield
rust_yld$vi_yld <- with(rust_yld, v_yld/4) # multivariate approach

rust_yld <- rust_yld %>%
  group_by(study) %>% 
  mutate(n2 = n()) %>% 
  filter(n2 != 1)

Design groups

rust_yld1 = rust_yld %>% 
  group_by(study) %>% 
  summarise(brand_name1=paste(brand_name, collapse=';')) 
## `summarise()` ungrouping output (override with `.groups` argument)
rust_yld1 %>% 
  tabyl(brand_name1)

Ten different designs (here design refers to the set of treatments in the trial) were found in the trials reporting soybean yield.

design1 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(1, length(brand_name))) %>% 
  filter(n2 == 9) %>% 
  filter(n3 == 9)
design1
design2 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(2, length(brand_name))) %>% 
  filter(n2 == 8) %>% 
  filter(n3 == 8)
design2
design3 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "BIXF + TFLX + PROT", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(3, length(brand_name))) %>% 
  filter(n2 == 8) %>% 
  filter(n3 == 8)
design3
design4 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "TFLX + PROT", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(4, length(brand_name))) %>% 
  filter(n2 == 8) %>% 
  filter(n3 == 8)
design4
design5 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(5, length(brand_name))) %>% 
  filter(n2 == 8) %>% 
  filter(n3 == 8)
design5
design6 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(6, length(brand_name))) %>% 
  filter(n2 == 7) %>% 
  filter(n3 == 7)
design6
design7 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "AACHECK", "BIXF + TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(7, length(brand_name))) %>% 
  filter(n2 == 6) %>% 
  filter(n3 == 6)
design7
design8 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "PICO + TEBU", "TFLX + CYPR")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(8, length(brand_name))) %>% 
  filter(n2 == 6) %>% 
  filter(n3 == 6)
design8
design9 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "AACHECK", "AZOX + BENZ", "TFLX + PROT", "PICO + TEBU")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(9, length(brand_name))) %>% 
  filter(n2 == 5) %>% 
  filter(n3 == 5)
design9
design10 = rust_yld %>% 
  group_by(study) %>% 
  filter(brand_name  %in% c("PICO + CYPR", "PYRA + EPOX + FLUX", "AACHECK", "TFLX + PROT", "PICO + TEBU", "TFLX + CYPR", "PICO + BENZ")) %>% 
  mutate(n3 = n()) %>% 
  mutate(design = rep(10, length(brand_name))) %>% 
  filter(n2 == 7) %>% 
  filter(n3 == 7)
design10
sbr_yld_design = rbind(design1, design2, design3, design4, design5, design6, design7, design8, design9, design10)


sbr_yld_design %>% 
  group_by(study,design) %>% 
  summarize() %>% 
  tabyl(design)
## `summarise()` regrouping output by 'study' (override with `.groups` argument)
library(readr)
write_csv(sbr_yld_design, "data/dat-yld.csv")


library(readr)
library(tidyverse)
rust_yld <- read_csv("data/dat-yld.csv")
## 
## -- Column specification --------------------------------------------------------
## cols(
##   study = col_double(),
##   year = col_double(),
##   location = col_character(),
##   state = col_character(),
##   n_spray = col_double(),
##   brand_name = col_character(),
##   mean_sev = col_double(),
##   mean_yld = col_double(),
##   v_sev = col_double(),
##   v_yld = col_double(),
##   yld_check = col_double(),
##   v_yld_check = col_double(),
##   sev_check = col_double(),
##   v_sev_check = col_double(),
##   vi_yld = col_double(),
##   n2 = col_double(),
##   n3 = col_double(),
##   design = col_double()
## )
rust_yld %>% 
  group_by(study)
length(unique(rust_yld$study))
## [1] 175
rust_yld %>% 
  group_by(study, n2) %>%
  summarise() %>% 
  tabyl(n2)
## `summarise()` regrouping output by 'study' (override with `.groups` argument)
yld_year = rust_yld %>% 
  filter(brand_name == "AACHECK") %>% 
  filter(year == 2020)

summary(yld_year$yld_check)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1487    2450    2890    2867    3301    4023
rust_yld %>%
  tabyl(brand_name, year)
rust_yld %>%
  tabyl(brand_name)
Copyright 2017 Emerson Del Ponte