Description Usage Format Source References Examples
The data for this problem are abstracted from a research project at
the US Center for Dairy Forage. The experiment involved comparing the
effects of five different diet
s on dry matter intake
(dmi
), the amount of food eaten. The animals under study were
heifers (cows with their first offspring) and mature cows during the
lactation (milk-producing) cycle following birth of a calf. The five
diets ranged from low (diet=1
) to high (diet=5
) alfalfa
content. The experiment was actually fairly complicated. The proportion
of alfalfa for the low group began at 45% and increased to 65% over
course of the lactaction cycle, while the high began at 85% and
increased to 95%. However, the order of the groups (low to high)
remained the same. Interest here focuses on dry matter intake for
cows.
1 2 |
ForCow data frame with 87 observations on 5 variables.
[,1] | hc | factor | Heifer or Cow |
[,2] | trt | factor | treatment group |
[,3] | code | factor | plot code |
[,4] | id | factor | cow identifier |
[,5] | dmi | numeric | dry matter intake (DMI) |
Forage data frame with 261 observations on 6 variables.
[,1] | cow | factor | cow identifier |
[,2] | hc | factor | Heifer or Cow |
[,3] | trt | factor | treatment group |
[,4] | per | factor | period (Early/Middle/Late) |
[,5] | dmi | numeric | dry matter intake (DMI) |
[,6] | coce | factor | plot code |
Tilak Dhiman
Dhiman TR, Kleinmans J, Tessmann NJ, Radloff HD and LD Satter (1995) Digestion and energy balance in lactating dairy cows fed varying ratios of alfalfa silage and grain, J Dairy Science 78, 330.
Dhiman TR and Satter LD (1996) Rumen degradable protein and its effect on microbial protein synthesis, J Dairy Science 00.
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 | # Average measurement per cow
data( ForCow )
# trt is ordered factor
ForCow$trt <- ordered( ForCow$trt )
# I do heifer, you do cow
ForCowh <- ForCow[ForCow$hc=="H", ]
# stem-and-leaf plot of raw data
stem( ForCowh$dmi, 5 )
# box-plots by treatment
print( bwplot( dmi ~ trt, ForCowh ),
main = "Forage Raw Data by trt" )
# analysis of variance for heifer
ForCowh.aov <- aov( dmi ~ trt, ForCowh )
ForCowh.aov
summary( ForCowh.aov )
# linear model for heifer -- same idea
ForCowh.lm <- lm( dmi ~ trt, ForCowh )
ForCowh.lm
summary( ForCowh.lm ) # linear models summary
summary.aov( ForCowh.lm ) # anova-type summary
# ordinary means
tapply( ForCowh$dmi, ForCowh$trt, mean )
# predicted values for all responses
data.frame( trt=ForCowh$trt, mean=predict( ForCowh.aov ) )
# predicted values and their standard errors by trt
ForCowh.mean <- predict( ForCowh.aov, se=TRUE )
ForCowh.mean <- data.frame( trt=ForCowh$trt, mean=ForCowh.mean$fit,
se=ForCowh.mean$se.fit )
ForCowh.mean[ !duplicated( ForCowh$trt ), ]
# least squares means
lsmean( ForCowh.aov )
# polynomial contrasts
coef( ForCowh.aov ) / sqrt(c(1,10,14,10,70)) # or coef( ForCowh.lm )
# use summary.lm to get standard errors
summary.lm( ForCowh.aov ) # or summary( ForCowh.lm )
# S-Plus plot of anova object
# plot( ForCowh.aov )
# residual plot with symbols
tmpdata = data.frame( x = predict( ForCowh.aov ),
y = resid( ForCowh.aov ), group=ForCowh$trt )
print( xyplot( y ~ x, tmpdata, groups = group,
xlab="mean by trt", ylab="residual" ))
# residual plot with jittered symbols
# add horizontal lines for 0 and +/- 1 SD
tmpdata$x = jitter( tmpdata$x )
print( xyplot( y ~ x, tmpdata, groups = group,
panel = function(...) {
panel.superpose(...)
panel.abline( h = 0, lty = 2 )
panel.abline( h=c(-1,1) * std.dev( ForCowh.aov ), lty=3 )
},
xlab="mean by trt", ylab="residual" ))
# Full set of cow measurements (3 periods per cow )
data( Forage )
Forage$code <- factor( Forage$code )
Forage$trt <- ordered( Forage$trt )
Forage$per <- ordered( Forage$per, c("Early","Middle","Late") )
Forage$ldmi <- log10( Forage$dmi )
Forage.fit <- aov( ldmi~hc*trt*per+Error( cow ),
Forage, qr = TRUE )
summary( Forage.fit )
# projections
Forage.proj <- proj( Forage.fit )
Forage.wpint <- apply( Forage.proj$cow[,
c("hc","trt","hc:trt") ], 1, sum )
Forage.spint <- apply( Forage.proj$Within[,
c("per","hc:per","trt:per","hc:trt:per") ], 1, sum )
Forage.mean <- Forage.proj[[1]][1]
# H:23.1 Forage Treatment by Period (Heifer or Cow)
# Separate Analysis by Period
ylabs <- c("dry matter intake (DMI)","","")
xlabs <- c("(a) early period","(b) middle period","(c) late period")
mains = c("","Figure H:23.1","")
yaxis <- seq( 12, 24, 2 )
ylim <- log10( c(11.5,24.5) )
lper = levels( Forage$per )
for ( i in seq( along = lper )) {
tmpfor <- Forage[Forage$per== lper[i], ]
fit <- lm( log10( dmi )~trt*hc, tmpfor )
ci.plot( fit, type="b",
panel = function(x,y,...) {
panel.abline( h=Forage.mean, lty=3 )
panel.superpose(x,y,...)
},
xlab=xlabs[i], ylab=ylabs[i], main = mains[i],
more = ( i != 3 ), split=c(i,1,3,1))
}
# axis( 2, log10( yaxis ), yaxis )
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.