Results processing for plots

Also, analysis for the numbers reported in the paper (e.g., number of studies and entries/study)

Preamble

Load Libraries

library(ezknitr)
library(knitr)
library(metafor)
## Loading required package: Matrix
## Loading 'metafor' package (version 1.9-9). For an overview 
## and introduction to the package please type: help(metafor).
library(devtools)
library(doBy)

Clear environment and set seed

remove(list=ls())
set.seed(281)

Load data

raw.data <- read.csv("data/workspace.csv")
load(file="data/output_data/data_cleaned.R")
rust.data <- as.data.frame(rust.data.ROM)
yield.data <- as.data.frame(yield.data.ROM)
seedwt.data <- as.data.frame(seedwt.data.ROM)
load(file="data/output_data/results_rust.R")
load(file="data/output_data/results_yield.R")
load(file="data/output_data/results_seedwt.R")

Remove categories that shouldn't have been analyzed (not enough records)

drop.cols <- "medium"
drop.cols.seedwt <- c("medium","low")
results.rust <- results.rust[,! colnames(results.rust) %in% drop.cols]
results.yield <- results.yield[,! colnames(results.yield) %in% drop.cols]
results.seedwt <- results.seedwt[,! colnames(results.seedwt) %in% drop.cols.seedwt]

#############################################################################

Step 1: Calculate numbers for paper: Dataset properties

Number of studies and entries of raw data

print(c("Studies in raw data", length(unique(raw.data$Reference))))
## [1] "Studies in raw data" "61"
print(c("Entries in raw data", nrow(raw.data)))
## [1] "Entries in raw data" "569"

Number of studies/category and number of entries/category

Number of studies overall

print(c("Studies in rust dataset: ",length(unique(rust.data$ReferenceNumb))))
## [1] "Studies in rust dataset: " "33"
print(c("Studies in yield dataset: ",length(unique(yield.data$ReferenceNumb))))
## [1] "Studies in yield dataset: " "31"
print(c("Studies in seedwt dataset: ",length(unique(seedwt.data$ReferenceNumb))))
## [1] "Studies in seedwt dataset: " "13"

Number of entries overall

print(c("Entries in rust dataset: ",nrow(rust.data)))
## [1] "Entries in rust dataset: " "320"
print(c("Entries in yield dataset: ",nrow(yield.data)))
## [1] "Entries in yield dataset: " "288"
print(c("Entries in seedwt dataset: ",nrow(seedwt.data)))
## [1] "Entries in seedwt dataset: " "144"

Number of entries and studies by year and location

summaryBy(FID~studyYear+Reference, data=rust.data, FUN=length)
##    studyYear             Reference FID.length
## 1       2005  lawrence et al ref 4          6
## 2       2005       Lawrence ref 21          6
## 3       2005         Sikora ref 42          7
## 4       2006         Harmon ref 47         12
## 5       2006       Kemerait ref 46          5
## 6       2006 Lawrence et al ref 55         10
## 7       2006       Lawrence ref 18          3
## 8       2006       Lawrence ref 41         11
## 9       2006        Mueller ref 36         23
## 10      2006        Mueller ref 37         15
## 11      2006        Mueller ref 38          6
## 12      2006        Mueller ref 39         11
## 13      2006        Mueller ref 40          4
## 14      2006        Mueller ref 43         15
## 15      2006        Mueller ref 45         17
## 16      2006   Sikora et al ref 74         12
## 17      2007  Lawrence et al ref 3          7
## 18      2007 Lawrence et al ref 53          6
## 19      2007 Lawrence et al ref 62          7
## 20      2007  Mueller et al  ref 1          3
## 21      2007   Mueller et al ref 9          9
## 22      2007  Padgett et al ref 54          9
## 23      2007         Sikora ref 23         12
## 24      2008  Douglas et al ref 65         18
## 25      2008  Douglas et al ref 66         13
## 26      2008       Lawrence ref 16         13
## 27      2008       Lawrence ref 22          9
## 28      2012    Price et al ref 35         12
## 29      2013        Delaney ref 30          9
## 30      2013        Delaney ref 31          9
## 31      2013        Delaney ref 32          4
## 32      2013        Delaney ref 34         12
## 33      2013 Lawrence et al ref 68          5
table(rust.data$studyYear)
## 
## 2005 2006 2007 2008 2012 2013 
##   19  144   53   53   12   39
summaryBy(FID~State+Reference, data=rust.data, FUN=length)
##    State             Reference FID.length
## 1     AL        Delaney ref 30          9
## 2     AL        Delaney ref 31          9
## 3     AL        Delaney ref 32          4
## 4     AL        Delaney ref 34         12
## 5     AL  Lawrence et al ref 3          7
## 6     AL  lawrence et al ref 4          6
## 7     AL Lawrence et al ref 53          6
## 8     AL Lawrence et al ref 55         10
## 9     AL Lawrence et al ref 62          7
## 10    AL Lawrence et al ref 68          5
## 11    AL       Lawrence ref 16         13
## 12    AL       Lawrence ref 18          3
## 13    AL       Lawrence ref 21          6
## 14    AL       Lawrence ref 22          9
## 15    AL   Sikora et al ref 74         12
## 16    AL         Sikora ref 23         12
## 17    AL         Sikora ref 42          7
## 18   AL        Lawrence ref 41         11
## 19    FL  Douglas et al ref 65         18
## 20    FL  Douglas et al ref 66         13
## 21    FL         Harmon ref 47         12
## 22    FL  Mueller et al  ref 1          3
## 23    FL   Mueller et al ref 9          9
## 24    FL        Mueller ref 36         23
## 25    FL        Mueller ref 37         15
## 26    FL        Mueller ref 38          6
## 27    FL        Mueller ref 39         11
## 28    FL        Mueller ref 40          4
## 29    FL        Mueller ref 45         17
## 30    GA       Kemerait ref 46          5
## 31    GA        Mueller ref 43         15
## 32    LA  Padgett et al ref 54          9
## 33    LA    Price et al ref 35         12
table(rust.data$State)
## 
##  AL AL   FL  GA  LA  MS 
## 137  11 131  20  21   0

Mean and std of dependent vars

print(c("mean, SD of rust severity in treated plants",
        mean(rust.data$m1i), sd(rust.data$m1i)))
## [1] "mean, SD of rust severity in treated plants"
## [2] "24.4085020833333"                           
## [3] "28.9950610143505"
print(c("mean, SD of rust severity in control plants",
        mean(rust.data$m2i), sd(rust.data$m2i)))
## [1] "mean, SD of rust severity in control plants"
## [2] "60.1640625"                                 
## [3] "33.4041850999308"
print(c("mean, SD of rust severity response ratio in control plants",
        mean(exp(rust.data$yi)), sd(exp(rust.data$yi))))
## [1] "mean, SD of rust severity response ratio in control plants"
## [2] "0.377096200042875"                                         
## [3] "0.334528920445451"
print(c("mean, SD of yield in treated plants",
        mean(yield.data$m1i), sd(yield.data$m1i)))
## [1] "mean, SD of yield in treated plants"
## [2] "3731.41201736111"                   
## [3] "1166.65952730187"
print(c("mean, SD of yield in control plants",
        mean(yield.data$m2i), sd(yield.data$m2i)))
## [1] "mean, SD of yield in control plants"
## [2] "3064.02441840278"                   
## [3] "1000.89112658311"
print(c("mean, SD of yield response ratio in control plants",
        mean(exp(yield.data$yi)), sd(exp(yield.data$yi))))
## [1] "mean, SD of yield response ratio in control plants"
## [2] "1.25188232429643"                                  
## [3] "0.249848371042816"
print(c("mean, SD of seedwt in treated plants",
        mean(seedwt.data$m1i), sd(seedwt.data$m1i)))
## [1] "mean, SD of seedwt in treated plants"
## [2] "11.9063722569444"                    
## [3] "6.22630903932661"
print(c("mean, SD of seedwt in control plants",
        mean(seedwt.data$m2i), sd(seedwt.data$m2i)))
## [1] "mean, SD of seedwt in control plants"
## [2] "10.4764800347222"                    
## [3] "5.62464013581265"
print(c("mean, SD of seedwt response ratio in control plants",
        mean(exp(seedwt.data$yi)), sd(exp(seedwt.data$yi))))
## [1] "mean, SD of seedwt response ratio in control plants"
## [2] "1.18847764847298"                                   
## [3] "0.157947343409103"

#############################################################################

Step 2: Information for table with references

summaryBy(FID~ReferenceNumb+Reference, data=raw.data, FUN=length)
##    ReferenceNumb              Reference FID.length
## 1              1   Mueller et al  ref 1          3
## 2              3   Lawrence et al ref 3          7
## 3              4   lawrence et al ref 4          6
## 4              6    Delaney et al ref 6          8
## 5              7     Sikora et al ref 7          4
## 6              8    Delaney et al ref 8         12
## 7              9    Mueller et al ref 9          9
## 8             11           Allen ref 11          7
## 9             12           Allen ref 12          8
## 10            13           Allen ref 13          5
## 11            14           Allen ref 14          5
## 12            16        Lawrence ref 16         13
## 13            17         Delaney ref 17          9
## 14            18        Lawrence ref 18          3
## 15            21        Lawrence ref 21          6
## 16            22        Lawrence ref 22          9
## 17            23          Sikora ref 23         12
## 18            24         Delaney ref 24          8
## 19            25         O'Brien ref 25          7
## 20            26         Delaney ref 26          4
## 21            27         Delaney ref 27          2
## 22            28        Delanely ref 28          2
## 23            29         Delaney ref 29          2
## 24            30         Delaney ref 30          9
## 25            31         Delaney ref 31          9
## 26            32         Delaney ref 32          4
## 27            33         Delaney ref 33          4
## 28            34         Delaney ref 34         12
## 29            35     Price et al ref 35         13
## 30            36         Mueller ref 36         23
## 31            37         Mueller ref 37         15
## 32            38         Mueller ref 38          6
## 33            39         Mueller ref 39         11
## 34            40         Mueller ref 40          4
## 35            41        Lawrence ref 41         11
## 36            42          Sikora ref 42          7
## 37            43         Mueller ref 43         15
## 38            44         Delaney ref 44         13
## 39            45         Mueller ref 45         17
## 40            46        Kemerait ref 46          5
## 41            47          Harmon ref 47         12
## 42            49        Kemerait ref 49         12
## 43            50        Kemerait ref 50         10
## 44            51        Kemerait ref 51          7
## 45            53  Lawrence et al ref 53          6
## 46            54   Padgett et al ref 54          9
## 47            55  Lawrence et al ref 55         10
## 48            59  Kemerait et al ref 59         15
## 49            60 Schneider et al ref 60         23
## 50            62  Lawrence et al ref 62          7
## 51            63   Mueller et al ref 63          6
## 52            65   Douglas et al ref 65         18
## 53            66   Douglas et al ref 66         13
## 54            67   Douglas et al ref 67         11
## 55            68  Lawrence et al ref 68          5
## 56            69   O'Brien et al ref 69         13
## 57            70    Sikora et al ref 70         13
## 58            71  Kemerait et al ref 71          8
## 59            72   Padgett et al ref 72         15
## 60            73   Padgett et al ref 73         15
## 61            74    Sikora et al ref 74         12
# For Rust analysis
summaryBy(FID~ReferenceNumb+Reference, data=rust.data, FUN=length)
##    ReferenceNumb             Reference FID.length
## 1              1  Mueller et al  ref 1          3
## 2              3  Lawrence et al ref 3          7
## 3              4  lawrence et al ref 4          6
## 4              9   Mueller et al ref 9          9
## 5             16       Lawrence ref 16         13
## 6             18       Lawrence ref 18          3
## 7             21       Lawrence ref 21          6
## 8             22       Lawrence ref 22          9
## 9             23         Sikora ref 23         12
## 10            30        Delaney ref 30          9
## 11            31        Delaney ref 31          9
## 12            32        Delaney ref 32          4
## 13            34        Delaney ref 34         12
## 14            35    Price et al ref 35         12
## 15            36        Mueller ref 36         23
## 16            37        Mueller ref 37         15
## 17            38        Mueller ref 38          6
## 18            39        Mueller ref 39         11
## 19            40        Mueller ref 40          4
## 20            41       Lawrence ref 41         11
## 21            42         Sikora ref 42          7
## 22            43        Mueller ref 43         15
## 23            45        Mueller ref 45         17
## 24            46       Kemerait ref 46          5
## 25            47         Harmon ref 47         12
## 26            53 Lawrence et al ref 53          6
## 27            54  Padgett et al ref 54          9
## 28            55 Lawrence et al ref 55         10
## 29            62 Lawrence et al ref 62          7
## 30            65  Douglas et al ref 65         18
## 31            66  Douglas et al ref 66         13
## 32            68 Lawrence et al ref 68          5
## 33            74   Sikora et al ref 74         12

#############################################################################

Step 3: Calculate numbers for paper: Results

Overall mean, 95% CI and Tau2

print(c("Mean e.s. of rust severity", mean(exp(results.rust$OVERALL))))
## [1] "Mean e.s. of rust severity" "0.0867322664501827"
print(c("SD e.s. of rust severity", sd(exp(results.rust$OVERALL))))
## [1] "SD e.s. of rust severity" "0.0478620915892458"
print(c("CI of mean e.s. of rust severity", 
        quantile(exp(results.rust$OVERALL), probs = c(0.025,0.975))))
##                                                                  2.5% 
## "CI of mean e.s. of rust severity"               "0.0241790593032055" 
##                              97.5% 
##                "0.207018518105641"
print(c("Mean tau^2 for rust", mean(results.rust$tau2)))
## [1] "Mean tau^2 for rust" "14.5693271830589"
print(c("Mean e.s. of yield", mean(exp(results.yield$OVERALL))))
## [1] "Mean e.s. of yield" "1.27652556332507"
print(c("SD es of yield", sd(exp(results.yield$OVERALL))))
## [1] "SD es of yield"     "0.0368943911886343"
print(c("CI of mean e.s. of yield", 
        quantile(exp(results.yield$OVERALL), probs = c(0.025,0.975))))
##                                                  2.5% 
## "CI of mean e.s. of yield"         "1.20894190057049" 
##                      97.5% 
##         "1.35256618307631"
print(c("Mean tau^2 for yield", mean(results.yield$tau2)))
## [1] "Mean tau^2 for yield" "0.0166130238687126"
print(c("Mean e.s. of seedwt severity", mean(exp(results.seedwt$OVERALL))))
## [1] "Mean e.s. of seedwt severity" "1.21159967140728"
print(c("SD es of yield", sd(exp(results.seedwt$OVERALL))))
## [1] "SD es of yield"     "0.0301736021468863"
print(c("CI of mean e.s. of seedwt severity", 
        quantile(exp(results.seedwt$OVERALL), probs = c(0.025,0.975))))
##                                                                      2.5% 
## "CI of mean e.s. of seedwt severity"                   "1.15830431403257" 
##                                97.5% 
##                   "1.27935002811906"
print(c("Mean tau^2 for seedwt", mean(results.seedwt$tau2)))
## [1] "Mean tau^2 for seedwt" "0.00168248886301628"

#############################################################################

Step 4: Store means from each in new dataframe

summary.means <- as.data.frame(matrix(NA, nrow = 64, ncol = 6))
colnames(summary.means) <- c("Category", "Moderator" , "Mean", "LL", "UL", "SD")

Transform model results

transform.rust <- exp(results.rust)
colnames(transform.rust) <- colnames(results.rust)
transform.rust$tau2 <- results.rust$tau2

transform.yield <- exp(results.yield)
colnames(transform.yield) <- colnames(results.yield)
transform.yield$tau2 <- results.yield$tau2

transform.seedwt <- exp(results.seedwt)
colnames(transform.seedwt) <- colnames(results.seedwt)
transform.seedwt$tau2 <- results.seedwt$tau2

Rust means

summary.means$Moderator[1:25] <- colnames(results.rust)
summary.means$Category[1:25] <- "Rust"
summary.means$Mean[1:25] <- apply(X = transform.rust, MARGIN = 2, 
                                  FUN = mean, na.rm=T)
summary.means$LL[1:25] <- apply(X = transform.rust, MARGIN = 2, 
                                FUN = function(x){quantile(x, probs = c(0.025), na.rm=T)})
summary.means$UL[1:25] <- apply(X = transform.rust, MARGIN = 2, 
                                FUN = function(x){quantile(x, probs = c(0.975), na.rm=T)})
summary.means$SD[1:25] <- apply(X = transform.rust, MARGIN = 2,
                                FUN = sd, na.rm=T)

Yield means

summary.means$Moderator[26:49] <- colnames(results.yield)
summary.means$Category[26:49] <- "Yield"
summary.means$Mean[26:49] <- apply(X = transform.yield, MARGIN = 2, FUN = mean, na.rm=T)
summary.means$LL[26:49] <- apply(X = transform.yield, MARGIN = 2, 
                                FUN = function(x){quantile(x, probs = c(0.025), na.rm=T)})
summary.means$UL[26:49] <- apply(X = transform.yield, MARGIN = 2, 
                                FUN = function(x){quantile(x, probs = c(0.975), na.rm=T)})
summary.means$SD[26:49] <- apply(X = transform.yield, MARGIN = 2,
                                 FUN = sd, na.rm=T)

Seed weight means

summary.means$Moderator[50:64] <- colnames(results.seedwt)
summary.means$Category[50:64] <- "Seed Weight"
summary.means$Mean[50:64] <- 
  apply(X = transform.seedwt, MARGIN = 2, FUN = mean, na.rm=T)
summary.means$LL[50:64] <- 
  apply(X = transform.seedwt, MARGIN = 2,
        FUN = function(x){quantile(x, probs = c(0.025), na.rm=T)})
summary.means$UL[50:64] <- 
  apply(X = transform.seedwt, MARGIN = 2,
        FUN = function(x){quantile(x, probs = c(0.975), na.rm=T)})
summary.means$SD[50:64] <- 
  apply(X = transform.seedwt, MARGIN = 2,
        FUN = sd, na.rm=T)

Specify analysis for graphing

summary.means$Analysis[summary.means$Moderator=="1 Application" | 
                         summary.means$Moderator=="2 Applications"] <- "Applications"
summary.means$Analysis[summary.means$Moderator=="2006" | 
                         summary.means$Moderator=="2007"|
                         summary.means$Moderator=="2013"] <- "Study Year"
summary.means$Analysis[summary.means$Moderator=="AZO_PROP"|
                         summary.means$Moderator=="FLUT"|
                         summary.means$Moderator=="PYR"|
                         summary.means$Moderator=="MIXED"|
                         summary.means$Moderator=="TEBU"] <- "Active Ingredient"
summary.means$Analysis[summary.means$Moderator=="low"|
                         summary.means$Moderator=="high"] <- "Disease Pressure"
summary.means$Analysis[summary.means$Moderator=="R1+"|
                         summary.means$Moderator=="R2+"|
                         summary.means$Moderator=="R3"|
                         summary.means$Moderator=="R5"] <- "Growth Stage"
summary.means$Analysis[summary.means$Moderator=="Strobilurin"|
                         summary.means$Moderator=="Triaz_Strob"|
                         summary.means$Moderator=="Triazole"] <- "Fungicide Class"
summary.means$Analysis[summary.means$Moderator=="OVERALL"] <- "Overall Mean"

Table of meta-analysis results

summary.means[summary.means$Analysis=="Overall Mean"&
                !is.na(summary.means$Analysis),]
##       Category Moderator       Mean         LL        UL         SD
## 1         Rust   OVERALL 0.08673227 0.02417906 0.2070185 0.04786209
## 26       Yield   OVERALL 1.27652556 1.20894190 1.3525662 0.03689439
## 50 Seed Weight   OVERALL 1.21159967 1.15830431 1.2793500 0.03017360
##        Analysis
## 1  Overall Mean
## 26 Overall Mean
## 50 Overall Mean
summary.means[summary.means$Moderator=="tau2",]
##       Category Moderator         Mean          LL           UL          SD
## 2         Rust      tau2 14.569327183 6.421193568 22.439328653 4.198315249
## 27       Yield      tau2  0.016613024 0.001629016  0.036616434 0.009197851
## 51 Seed Weight      tau2  0.001682489 0.000000000  0.007539147 0.002240498
##    Analysis
## 2      <NA>
## 27     <NA>
## 51     <NA>

Save summary.means

save(summary.means, file="data/output_data/summary_results.R")

#############################################################################

Step 5: Fungicide table for manuscript

Rust

table(rust.data$category_ai)
## 
##  FLUT MIXED   PYR  TEBU 
##    40   129    25    31
tapply(rust.data$Reference, rust.data$category_ai, 
       FUN=function(x){length(unique(x))})
##  FLUT MIXED   PYR  TEBU 
##    10    30    17    20
table(rust.data$category_class)
## 
##   strobilurin triaz + strob      triazole 
##            40            98            98
tapply(rust.data$Reference, rust.data$category_class, 
       FUN=function(x){length(unique(x))})
##   strobilurin triaz + strob      triazole 
##            20            26            25
table(rust.data$alphaIngred[rust.data$alphaIngred=="AZO + PROP"])
## 
## AZO + PROP 
##         16
tapply(rust.data$Reference[rust.data$alphaIngred=="AZO + PROP"], 
       rust.data$category_class[rust.data$alphaIngred=="AZO + PROP"], 
       FUN=function(x){length(unique(x))})
## triaz + strob 
##             8

Yield

table(yield.data$category_ai)
## 
##  FLUT MIXED   PYR  TEBU 
##    39   119    20    28
tapply(yield.data$Reference, yield.data$category_ai, 
       FUN=function(x){length(unique(x))})
##  FLUT MIXED   PYR  TEBU 
##     9    28    15    19
table(yield.data$category_class)
## 
##   strobilurin triaz + strob      triazole 
##            34            89            91
tapply(yield.data$Reference, yield.data$category_class, 
       FUN=function(x){length(unique(x))})
##   strobilurin triaz + strob      triazole 
##            18            24            23

Seedwt

table(seedwt.data$category_ai)
## 
##  FLUT MIXED  TEBU 
##    30    59    18
tapply(seedwt.data$Reference, seedwt.data$category_ai, 
       FUN=function(x){length(unique(x))})
##  FLUT MIXED  TEBU 
##     6    12     9
table(seedwt.data$category_class)
## 
##   strobilurin triaz + strob      triazole 
##            18            42            58
tapply(seedwt.data$Reference, seedwt.data$category_class, 
       FUN=function(x){length(unique(x))})
##   strobilurin triaz + strob      triazole 
##             8            11            10

#############################################################################

Step 6: Table of other moderator variables

Number of applications

table(rust.data$number_applications)
## 
##   1   2 
## 129 170
tapply(rust.data$Reference, rust.data$number_applications, 
       FUN=function(x){length(unique(x))})
##  1  2 
## 17 23
table(yield.data$number_applications)
## 
##   1   2 
## 111 160
tapply(yield.data$Reference, yield.data$number_applications, 
       FUN=function(x){length(unique(x))})
##  1  2 
## 15 22
table(seedwt.data$number_applications)
## 
##  1  2 
## 79 64
tapply(seedwt.data$Reference, seedwt.data$number_applications, 
       FUN=function(x){length(unique(x))})
## 1 2 
## 9 8

Growth stage

table(rust.data$category_rstage)
## 
##  1+  2+   3   5 
##  51  75 106  25
tapply(rust.data$Reference, rust.data$category_rstage, 
       FUN=function(x){length(unique(x))})
## 1+ 2+  3  5 
##  8  9 14  7
table(yield.data$category_rstage)
## 
##  1+  2+   3   5 
##  47  73 100  13
tapply(yield.data$Reference, yield.data$category_rstage, 
       FUN=function(x){length(unique(x))})
## 1+ 2+  3  5 
##  7  9 13  5
table(seedwt.data$category_rstage)
## 
##  3 
## 44
tapply(seedwt.data$Reference, seedwt.data$category_rstage, 
       FUN=function(x){length(unique(x))})
## 3 
## 5

Disease Pressure

table(rust.data$category_pressure)
## 
##   high    low medium 
##    167    109     44
tapply(rust.data$Reference, rust.data$category_pressure, 
       FUN=function(x){length(unique(x))})
##   high    low medium 
##     16     13      4
table(yield.data$category_pressure)
## 
##   high    low medium 
##    152     94     42
tapply(yield.data$Reference, yield.data$category_pressure, 
       FUN=function(x){length(unique(x))})
##   high    low medium 
##     15     12      4
table(seedwt.data$category_pressure)
## 
##   high    low medium 
##     98     29     17
tapply(seedwt.data$Reference, seedwt.data$category_pressure, 
       FUN=function(x){length(unique(x))})
##   high    low medium 
##      8      4      1

Study Year

table(rust.data$category_year)
## 
## 2006 2007 2013 
##  144   53   39
tapply(rust.data$Reference, rust.data$category_year, 
       FUN=function(x){length(unique(x))})
## 2006 2007 2013 
##   13    7    5
table(yield.data$category_year)
## 
## 2006 2007 2013 
##  121   44   39
tapply(yield.data$Reference, yield.data$category_year, 
       FUN=function(x){length(unique(x))})
## 2006 2007 2013 
##   12    6    5
table(seedwt.data$category_year)
## 
## 2006 
##   76
tapply(seedwt.data$Reference, seedwt.data$category_year, 
       FUN=function(x){length(unique(x))})
## 2006 
##    6

#############################################################################

Step 7: Expanding regression results for plotting

Year analysis

year.regression <- summary.means[summary.means$Moderator=="Year Slope",]
year.regression.rust <- results.rust[,c("Year Intrcpt|2004", "Year Slope")]
year.regression.rust$Category <- "Rust"
year.regression.yield <- results.yield[,c("Year Intrcpt|2004", "Year Slope")]
year.regression.yield$Category <- "Yield"
year.regression.sims <- rbind(year.regression.rust, year.regression.yield)
# combine
year.regression <- merge(year.regression, year.regression.sims, by = "Category")

Applications analysis

applic.regression <- summary.means[summary.means$Moderator=="Application Slope",]
applic.regression.rust <- results.rust[,c("Application Intrcpt", "Application Slope")]
applic.regression.rust$Category <- "Rust"
applic.regression.yield <- results.yield[,c("Application Intrcpt", "Application Slope")]
applic.regression.yield$Category <- "Yield"
applic.regression.seedwt <- results.yield[,c("Application Intrcpt", "Application Slope")]
applic.regression.seedwt$Category <- "Seed Weight"
applic.regression.sims <- rbind(applic.regression.rust, 
                                applic.regression.yield, 
                                applic.regression.seedwt)
# combine
applic.regression <- merge(applic.regression, applic.regression.sims, by = "Category")

#############################################################################

Step 8: Typical application rates

rust.data[rust.data$category_ai=="PYR"&!is.na(rust.data$category_ai),c("amount","category_ai", "activeIngClean")]
##      amount category_ai activeIngClean
## 3       7.8         PYR            PYR
## 48      5.5         PYR            PYR
## 114     4.5         PYR            PYR
## 115     7.8         PYR            PYR
## 203     9.2         PYR            PYR
## 204     9.2         PYR            PYR
## 205     9.2         PYR            PYR
## 222 9.2 + 4         PYR            PYR
## 223 9.2 + 4         PYR            PYR
## 224 4 + 9.2         PYR            PYR
## 229     7.8         PYR            PYR
## 257     7.8         PYR            PYR
## 332     7.8         PYR            PYR
## 338     7.8         PYR            PYR
## 376   4 + 6         PYR            PYR
## 461       6         PYR            PYR
## 8       7.8         PYR            PYR
## 75        6         PYR            PYR
## 155       6         PYR            PYR
## 164       6         PYR            PYR
## 272       6         PYR            PYR
## 280     9.2         PYR            PYR
## 281     9.2         PYR            PYR
## 282     9.2         PYR            PYR
## 389       6         PYR            PYR
rust.data[rust.data$category_ai=="FLUT"&!is.na(rust.data$category_ai),c("amount","category_ai", "activeIngClean")]
##          amount category_ai activeIngClean
## 190           7        FLUT           FLUT
## 191          10        FLUT           FLUT
## 194           7        FLUT           FLUT
## 195          10        FLUT           FLUT
## 198           7        FLUT           FLUT
## 199          10        FLUT           FLUT
## 226           7        FLUT           FLUT
## 308           7        FLUT           FLUT
## 309          11        FLUT           FLUT
## 310          14        FLUT           FLUT
## 311           7        FLUT           FLUT
## 312  7.0 + 11.0        FLUT           FLUT
## 313  7.0 + 14.0        FLUT           FLUT
## 314           7        FLUT           FLUT
## 315  7.0 + 11.0        FLUT           FLUT
## 316  7.0 + 14.0        FLUT           FLUT
## 318         3.5        FLUT           FLUT
## 319           5        FLUT           FLUT
## 320           7        FLUT           FLUT
## 321          11        FLUT           FLUT
## 322 5.0 + 0.25%        FLUT           FLUT
## 380           7        FLUT           FLUT
## 447           7        FLUT           FLUT
## 455           7        FLUT           FLUT
## 465           7        FLUT           FLUT
## 466          11        FLUT           FLUT
## 467          14        FLUT           FLUT
## 468         7,7        FLUT           FLUT
## 469        7,11        FLUT           FLUT
## 470        7,14        FLUT           FLUT
## 471         7,7        FLUT           FLUT
## 472        7,11        FLUT           FLUT
## 473        7,14        FLUT           FLUT
## 474    7+.25v/v        FLUT           FLUT
## 78            7        FLUT           FLUT
## 85            7        FLUT           FLUT
## 152           7        FLUT           FLUT
## 161           7        FLUT           FLUT
## 178           7        FLUT           FLUT
## 179           7        FLUT           FLUT
rust.data[rust.data$category_ai=="TEBU"&!is.na(rust.data$category_ai),c("amount","category_ai", "activeIngClean")]
##     amount category_ai activeIngClean
## 43     5.1        TEBU           TEBU
## 46     6.8        TEBU           TEBU
## 105      4        TEBU           TEBU
## 206    3.6        TEBU           TEBU
## 207    3.6        TEBU           TEBU
## 208    3.6        TEBU           TEBU
## 209    3.6        TEBU           TEBU
## 210    3.6        TEBU           TEBU
## 211    3.6        TEBU           TEBU
## 227    3.6        TEBU           TEBU
## 247      4        TEBU           TEBU
## 248      4        TEBU           TEBU
## 317    3.6        TEBU           TEBU
## 453      4        TEBU           TEBU
## 454      4        TEBU           TEBU
## 477    4,4        TEBU           TEBU
## 4        4        TEBU           TEBU
## 16       4        TEBU           TEBU
## 81       4        TEBU           TEBU
## 97       4        TEBU           TEBU
## 154      4        TEBU           TEBU
## 163      4        TEBU           TEBU
## 182      4        TEBU           TEBU
## 183      4        TEBU           TEBU
## 271      4        TEBU           TEBU
## 283      4        TEBU           TEBU
## 284      4        TEBU           TEBU
## 285      4        TEBU           TEBU
## 325      4        TEBU           TEBU
## 391      4        TEBU           TEBU
## 434      4        TEBU           TEBU
rust.data[rust.data$alphaIngred=="AZO + PYR"&!is.na(rust.data$alphaIngred),c("amount","category_ai", "activeIngClean")]
##        amount category_ai activeIngClean
## 239 6.2 + 7.8       MIXED          MIXED

Footer

Spun with ezspin(“programs/results_processing.R”, out_dir=“output”, fig_dir=“figures”, keep_md=FALSE)

Session Info:

devtools::session_info()
## Session info --------------------------------------------------------------
##  setting  value                       
##  version  R version 3.3.2 (2016-10-31)
##  system   x86_64, darwin13.4.0        
##  ui       RStudio (0.99.902)          
##  language (EN)                        
##  collate  en_US.UTF-8                 
##  tz       America/Chicago             
##  date     2017-01-25
## Packages ------------------------------------------------------------------
##  package     * version date       source        
##  devtools    * 1.12.0  2016-06-24 CRAN (R 3.3.0)
##  digest        0.6.10  2016-08-02 CRAN (R 3.3.0)
##  doBy        * 4.5-15  2016-03-31 CRAN (R 3.3.0)
##  evaluate      0.10    2016-10-11 CRAN (R 3.3.0)
##  ezknitr     * 0.6     2016-09-16 CRAN (R 3.3.0)
##  knitr       * 1.15.1  2016-11-22 CRAN (R 3.3.2)
##  lattice       0.20-34 2016-09-06 CRAN (R 3.3.2)
##  magrittr      1.5     2014-11-22 CRAN (R 3.3.0)
##  MASS          7.3-45  2016-04-21 CRAN (R 3.3.2)
##  Matrix      * 1.2-7.1 2016-09-01 CRAN (R 3.3.2)
##  memoise       1.0.0   2016-01-29 CRAN (R 3.3.0)
##  metafor     * 1.9-9   2016-09-25 CRAN (R 3.3.0)
##  R.methodsS3   1.7.1   2016-02-16 CRAN (R 3.3.0)
##  R.oo          1.21.0  2016-11-01 CRAN (R 3.3.0)
##  R.utils       2.5.0   2016-11-07 CRAN (R 3.3.0)
##  stringi       1.1.2   2016-10-01 CRAN (R 3.3.0)
##  stringr       1.1.0   2016-08-19 CRAN (R 3.3.0)
##  withr         1.0.2   2016-06-20 CRAN (R 3.3.0)