lehner.soybeanmold: Yield, white mold, and sclerotia for soybeans in Brazil

Description Usage Format Details Source References Examples

Description

Yield, white mold, and sclerotia for soybeans in Brazil

Usage

1
data("lehner.soybeanmold")

Format

A data frame with 382 observations on the following 9 variables.

study

study number

year

year of harvest

loc

location name

elev

elevation

region

region

trt

treatment number

yield

crop yield, kg/ha

mold

white mold incidence, percent

sclerotia

weight of sclerotia g/ha

Details

Data are the mean of 4 reps.

Original source (Portuguese) http://ainfo.cnptia.embrapa.br/digital/bitstream/item/101371/1/Ensaios-cooperativos-de-controle-quimico-de-mofo-branco-na-cultura-da-soja-safras-2009-a-2012.pdf

Data included here via GPL3 license.

Source

Lehner, M. S., Pethybridge, S. J., Meyer, M. C., & Del Ponte, E. M. (2016). Meta-analytic modelling of the incidence-yield and incidence-sclerotial production relationships in soybean white mould epidemics. Plant Pathology. doi:10.1111/ppa.12590

References

Full commented code and analysis https://emdelponte.github.io/paper-white-mold-meta-analysis/

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
data(lehner.soybeanmold)
dat <- lehner.soybeanmold

## Not run: 
  op <- par(mfrow=c(2,2))
  hist(dat$mold, main="White mold incidence")
  hist(dat$yield, main="Yield")
  hist(dat$sclerotia, main="Sclerotia weight")
  par(op)

## End(Not run)

require(lattice)
xyplot(yield ~ mold|study, dat, type=c('p','r'),
       main="lehner.soybeanmold")
# xyplot(sclerotia ~ mold|study, dat, type=c('p','r'))

# Example meta-analysis. Could use metafor package to construct the forest
# plot, but it is easier with lattice and ggplot is slow/clumsy
if(require(latticeExtra) & require(metafor)){
  # calculate correlation & confidence for each loc
  cors <- split(dat, dat$study)
  cors <- sapply(cors,
                 FUN=function(X){
                   res <- cor.test(X$yield, X$mold)
                   c(res$estimate, res$parameter[1],
                     conf.low=res$conf.int[1], conf.high=res$conf.int[2])
                 })
  cors <- as.data.frame(t(as.matrix(cors)))
  cors$study <- rownames(cors)
  # Fisher Z transform
  cors <- transform(cors, ri = cor)
  cors <- transform(cors, ni = df + 2)
  cors <- transform(cors,
                    yi = 1/2 * log((1 + ri)/(1 - ri)),
                    vi = 1/(ni - 3))
  # Overall correlation across studies
  overall <- rma.uni(yi, vi, method="ML", data=cors) # metafor package
  # back transform
  overall <- predict(overall, transf=transf.ztor)

  # weight and size for forest plot
  wi    <- 1/sqrt(cors$vi)
  size  <- 0.5 + 3.0 * (wi - min(wi))/(max(wi) - min(wi))

  # now the forest plot
  # must use latticeExtra::layer in case ggplot2 is also loaded
  segplot(factor(study) ~ conf.low+conf.high, data=cors,
          draw.bands=FALSE, level=size, centers=ri, cex=size,
          col.regions=colorRampPalette(c("gray85", "dodgerblue4")),
          main="White mold vs. soybean yield",
          xlab=paste("Study correlation, confidence, and study weight (blues)\n",
                     "Overall (black)"),
          ylab="Study ID") +
    latticeExtra::layer(panel.abline(v=overall$pred, lwd=2)) +
    latticeExtra::layer(panel.abline(v=c(overall$cr.lb, overall$cr.ub), lty=2, col="gray"))

}

# Meta-analyses are typically used when the original data is not available.
# Since the original data is available, a mixed model is probably better.
## Not run: 
  library(lme4)
  m1 <- lmer(yield ~ mold # overall slope
             + (1+mold |study), # random intercept & slope per study
             data=dat)
  summary(m1)

## End(Not run)

agridat documentation built on May 2, 2019, 4:01 p.m.