### R code for Section 6.3 ## Table 6.3-1 on page 364 # read data into R data = read.table("table631.dat") rownames(data) = c("A", "B", "C") colnames(data) = seq(1:5) data ## summary statistic # treatment means apply(data, 1, mean) # "1" here indicates "row" # batch means apply(data, 2, mean) # "2" here indicates "column" # grand mean mean(mean(data)) ## linear regression on treatment and batch y = as.vector(as.matrix(data)) # response treat = rep(c("A","B","C"), 5) # treatment labels treat batch = c(rep(1,3),rep(2,3),rep(3,3),rep(4,3),rep(5,3)) # batch labels batch fit1 = lm(y ~ factor(treat) + factor(batch)) ## Anova table anova(fit1) # ANOVA table given by R # SSTotal and df ybar = mean(y) # grand mean ssto = sum((data - ybar)^2) # SSTotal length(y) - 1 # df of SSTotal ## residual check plot(fit1, 1)