Tree: Tree Weed Suppression over Time

Description Usage Format Source References Examples

Description

A student of plant pathology studied the ‘weed suppressiveness’ of tree soils. David Maxwell examined the sensitivity of ‘Rutgers’ variety tomato, known to be sensitive to biological factors, to several different soils. Three of the soils (vermix, promix and grnhous) are in a certain sense controls, the first two being artificial and the third coming from a controlled environment. A fourth soil contained only grass. The other four are of particular interest, as the scientist wants to know whether soil from tree nm-6 is better (lower score) than those of the other three trees. The score was the number of germinating tomato seeds out of ten planted. In addition, the mean height of seedlings was measured at different times.

For each type of soil, there were six soil samples (reps(soil)). These soil samples were inoculated with pathogen. Then these soil samples were split (acc), with one half autoclaved (sterilized) and the other half not. Thus there were 12 half-samples (acc*reps(soil)). Each of these 12 half-samples was placed in storage and scored on six different dates. In addition, the mean height of seedlings was measured at three of these times. The primary focus is on the half-samples that were not autoclaved.

Usage

1
2

Format

TreeAve data frame with 48 observations on 4 variables.

[,1] soil factor soil type
[,2] reps factor replicate number
[,3] score numeric germinating tomatoes of 10
[,4] height numeric mean plant height

Tree data frame with 96 observations on 12 variables.

[,1] soil factor soil type
[,2] reps factor replicate number
[,3] acc factor autoclaved or not
[,4] score1 numeric germination at time 1
[,5] score2 numeric germination at time 2
[,6] score3 numeric germination at time 3
[,4] ht1 numeric mean plant height at time 3
[,6] score4 numeric germination at time 4
[,4] ht2 numeric mean plant height at time 4
[,6] score5 numeric germination at time 5
[,4] ht3 numeric mean plant height at time 5
[,6] score6 numeric germination at time 6

Source

David Maxwell, Plant Pathology Department, UW-Madison

References

Maxwell DL and Stanosz G (1996) 'Assay to determine if weed suppressiveness is an inherent property of soil in which NM-6 is growing', Department of Plant Pathology, University of Wisconsin-Madison.

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
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# Analysis Averaged over Time
data( TreeAve )
# soil is automatically a factor() since it has characters
TreeAve.aov <- aov( score ~ soil, TreeAve)
summary( TreeAve.aov )
#plot( TreeAve.aov )
boxplot( split( TreeAve$score, TreeAve$soil))

# Analysis over Time
data( Tree )
Tree <- Tree[ Tree$acc == "notauto", ]
Tree$acc <- NULL
Tree$type <- factor( !is.na( match( Tree$soil,
   c("dtac2","nc11004","ne-332","nm-6") )))
Tree$reps <- factor( Tree$reps )

Trees <- Tree[ rep( seq( nrow( Tree ) ), 6 ), c("soil","reps","type") ]
Trees$date <- ordered( rep( 1:6, rep( nrow( Tree ), 6 ) ) )
Trees$score <- unlist( Tree[ , paste( "score", 1:6, sep="" ) ] )
row.names(Trees) <- interaction( Trees[, c("soil","reps","date") ] )

Trees.soil <- aov(score ~ soil * date + Error(reps/soil), Trees )
# combined (sort of)
Trees.all <- aov( score ~ soil * date, Trees )

# Figure I:25.1 Tree scores over time by soil type


Tree.lsm <- lsmean( Trees.all, factors = c("soil","date") )
Tree.lsm$type <- factor( !is.na( match( Tree.lsm$soil,
   c("dtac2","nc11004","ne-332","nm-6") ) ) )

Tree.lsm <- split( Tree.lsm, Tree.lsm$type )
# following values are SE for means taken for SAS output
Tree.lsm[[1]]$se <- rep( .84086871, nrow( Tree.lsm[[1]] ) )
Tree.lsm[[2]]$se <- rep( .63433993, nrow( Tree.lsm[[2]] ) )

Tree.data <- split( Trees, Trees$type )
Tree.xlab <- c("(b) control","(a) Tree")
Tree.ylab <- c("","score means")
Tree.ylim = range( pretty( c( Tree.lsm[[1]]$pred, Tree.lsm[[2]]$pred )))

for( i in 2:1 ) { # "FALSE" comes before "TRUE"
   int.plot( Trees.all, Tree.data[[i]], c("date","soil"),
      Tree.lsm[[i]], bar.plot = "none", ylim = Tree.ylim,
      panelf = function(...) {
        se.bar( 4.5, 2, Tree.lsm[[i]]$se[1] )
        Tree.tmp <- Tree.lsm[[i]][Tree.lsm[[i]]$date==6,]
        panel.text( rep( 4.5, nrow( Tree.tmp ) ),
          0.25 + Tree.tmp$pred,
          as.character( Tree.tmp$soil ), adj = 0 )
      },
      xlab = paste( Tree.xlab[i], "soils by date" ),
      ylab = Tree.ylab[i],
      more = (i == 2), split = c(3-i,1,2,1) )
}
rm( Tree.data, Tree.xlab, Tree.ylab, Tree.lsm )

# Figure I:25.2 Tree whole plot experimental units

Tree.xlab <- c("(b) control","(a) Tree")
Tree.ylab <- c("","soil sample means")

library(lme4)
Trees.lme <- lmer(score ~ soil * date + (1|reps:soil), data = Trees )
VarCorr( Trees.lme )
anova( Trees.lme )

## Not run: 
# projections (*** CAUTION: SLOW ***)
# This works for now in Splus but not in R!
Trees.type <- aov(score ~ type/soil * date +
   Error(reps %in% soil %in% type), Trees, proj = TRUE )
Trees.proj <- proj ( Trees.type )
# whole plot
Trees.wp <- nested( Trees.proj, Trees, c("type","soil","reps"), "score",
   c(1,2), Trees.ref )
Trees.wpaov <- aov( score ~ soil, Trees.wp )
Tree.grmean <- lsmean( Trees.wpaov, fac = NULL )$pred
Tree.lsm <- lsmean( Trees.wpaov, factors = "soil" )
Tree.lsm$type <- factor( !is.na( match( Tree.lsm$soil,
   c("dtac2","nc11004","ne-332","nm-6") ) ) )
Tree.lsm <- split( Tree.lsm, Tree.lsm$type )
Tree.data <- split( Trees.wp, Trees.wp$type )
for ( i in 2:1 ) { # "FALSE" comes before "TRUE"
   Tree.lsm[[i]]$rank <- rank( -Tree.lsm[[i]]$pred )
   # have to be careful about levels of soil in type subsets
   Tree.data[[i]]$soil <- factor( Tree.data[[i]]$soil )
   attach( Tree.data[[i]] )
   names( Tree.lsm[[i]]$rank ) <- unique( soil )
   plot( jitter( Tree.lsm[[i]]$rank[soil] ), score, xaxt = "n",
      ylim = range( Trees.wp$score ),
      xlab = paste( Tree.xlab[i], "soil sample means" ),
      ylab = Tree.ylab[i] )
   detach()
   axis( 1, Tree.lsm[[i]]$rank, row.names( Tree.lsm[[i]] ) )
   abline( h = Tree.grmean, lty = 3 )
}
axis( 1, Tree.lsm[[1]]["grnhous","rank"], "grnhous" )
rm( Tree.data, Tree.xlab, Tree.ylab, Tree.grmean, Tree.lsm )

# Figure I:25.3 Tree repeated measures within soil sample

Trees.ref <- data.frame( Reference = c( Trees.proj[[1]] ))
for (i in names( Trees.proj )[-1])
   Trees.ref[[i]] <- apply( Trees.proj[[i]], 1, sum )

# split plot
Trees.sp <- nested( Trees.proj, Trees, c("type","soil","reps","date"),
   "score", c(1,3), Trees.ref )

Trees.spaov <- aov( score ~ reps*soil + date + date:soil, Trees.sp )

# split plot with time trend removed
Trees.sp$res <- resid( aov( score ~ reps*soil + date, Trees.sp ) ) +
   lsmean( Trees.spaov, fac=NULL )$pred

Trees.spres <- aov( res ~ reps*soil + date + date:soil, Trees.sp )

Tree.lsm <- lsmean( Trees.spaov, factors = c("soil","date") )
Tree.lsm$type <- factor( !is.na( match( Tree.lsm$soil,
   c("dtac2","nc11004","ne-332","nm-6") ) ) )

Tree.lsm <- split( Tree.lsm, Tree.lsm$type )
# following values are SE for contrasts taken from SAS output
Tree.lsm[[1]]$se <- rep( .42023472 / sqrt( 2 ), nrow( Tree.lsm[[1]] ) )
Tree.lsm[[2]]$se <- rep( .35818796 / sqrt( 2 ), nrow( Tree.lsm[[2]] ) )

Tree.data <- split( Trees.sp, Trees.sp$type )
Tree.xlab <- c("(b) control","(a) Tree")
Tree.ylab <- c("","pure split plot score")
for ( i in 2:1 ) { # "FALSE" comes before "TRUE"
   lsd.plot( Trees.spaov, Tree.data[[i]], c("date","soil"),
      Tree.lsm[[i]],
      xpos = 6, xlim = c(1,7.7), ylim = range( Tree.lsm$pred ),
      xaxt = "n", xlab = paste( Tree.xlab[i], "soils by date" ),
      ylab = Tree.ylab[i] )
   axis(1,1:6)
   Tree.tmp <- Tree.lsm[[i]][Tree.lsm[[i]]$date==6,]
   text( rep( 6.2, nrow( Tree.tmp ) ),
      uncollide( Tree.tmp$pred, c(.7,1.6)[i] ),
      as.character( Tree.tmp$soil ), adj = 0 )
}
rm( Tree.data, Tree.xlab, Tree.ylab, Tree.lsm, Tree.tmp )

# Figure I:25.4 Tree detrended repeated measures
Tree.lsm <- lsmean( Trees.spres, factors = c("soil","date") )
Tree.lsm$type <- factor( !is.na( match( Tree.lsm$soil,
   c("dtac2","nc11004","ne-332","nm-6") ) ) )

Tree.lsm <- split( Tree.lsm, Tree.lsm$type )
# following values are SE for contrasts take for SAS output
Tree.lsm[[1]]$se <- rep( .42023472 / sqrt( 2 ), nrow( Tree.lsm[[1]] ) )
Tree.lsm[[2]]$se <- rep( .35818796 / sqrt( 2 ), nrow( Tree.lsm[[2]] ) )

Tree.data <- split( Trees.sp, Trees.sp$type )
Tree.xlab <- c("(b) control","(a) Tree")
Tree.ylab <- c("","pure split plot score")
for ( i in 2:1 ) { # "FALSE" comes before "TRUE"
   lsd.plot( Trees.spres, Tree.data[[i]], c("date","soil"), Tree.lsm[[i]],
      xpos = 4.5, ypos = 4.25,
      xlim = c(1,7.7), ylim = range( Tree.lsm$pred ),
      xaxt = "n",
      xlab = paste( Tree.xlab[i], "soils by date" ),
      ylab = Tree.ylab[i] )
   axis(1,1:6)
   Tree.tmp <- Tree.lsm[[i]][ Tree.lsm[[i]]$date == 6, ]
   text( rep( 6.2, nrow( Tree.tmp ) ),
      uncollide( Tree.tmp$pred, c(.3,.6)[i] ),
      as.character( Tree.tmp$soil ), adj = 0 )
}
rm( Tree.data, Tree.xlab, Tree.ylab, Tree.lsm, Tree.tmp )

# Figure I:26.1 Tree partial correlations over time
Tree.tmpc <- length( unique( Trees.sp$date ))
Tree.tmpr <- nrow( Trees.sp ) / Tree.tmpc
Tree.tmp <- matrix( resid( Trees.spaov ), Tree.tmpr, Tree.tmpc )
Tree.tmpid <- c("C","T")[ codes( Trees.sp$type[1:Tree.tmpr] ) ]

splom( Tree.tmp, varnames = as.character( unique( Trees.sp$date )),
   groups = Tree.tmpid )
rm( Tree.tmp, Tree.tmpr, Tree.tmpc )

## End(Not run)

byandell/pda documentation built on May 13, 2019, 9:27 a.m.