Caso 1
dados <- c(4.2,4.5,5.2,3.8,3.7,3.5,4.2,4,3.9,
4.6,4.7,5,4.4,3.5,3.1,4.2,3.8,3.9,
4.5,4.3,6.8,4.8,3.1,3.4,5.2,3.7,3.7,
4.4,4.7,5.8,3.9,3.7,3.3,5.1,4.1,4)
cult<- factor(rep(letters[1:3], 3*4))
prepar<- factor(rep(1:3, each = 3, 4))
bloco<- factor(rep(1:4, each = 9))
data.frame(prepar, dados)
## prepar dados
## 1 1 4.2
## 2 1 4.5
## 3 1 5.2
## 4 2 3.8
## 5 2 3.7
## 6 2 3.5
## 7 3 4.2
## 8 3 4.0
## 9 3 3.9
## 10 1 4.6
## 11 1 4.7
## 12 1 5.0
## 13 2 4.4
## 14 2 3.5
## 15 2 3.1
## 16 3 4.2
## 17 3 3.8
## 18 3 3.9
## 19 1 4.5
## 20 1 4.3
## 21 1 6.8
## 22 2 4.8
## 23 2 3.1
## 24 2 3.4
## 25 3 5.2
## 26 3 3.7
## 27 3 3.7
## 28 1 4.4
## 29 1 4.7
## 30 1 5.8
## 31 2 3.9
## 32 2 3.7
## 33 2 3.3
## 34 3 5.1
## 35 3 4.1
## 36 3 4.0
# modelo
mod <- aov(dados ~ prepar*cult+ Error(bloco/prepar))
summary(mod)
##
## Error: bloco
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 3 0.5297 0.1766
##
## Error: bloco:prepar
## Df Sum Sq Mean Sq F value Pr(>F)
## prepar 2 8.912 4.456 69.24 7.16e-05 ***
## Residuals 6 0.386 0.064
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## cult 2 1.322 0.6608 3.636 0.047181 *
## prepar:cult 4 6.107 1.5267 8.399 0.000525 ***
## Residuals 18 3.272 0.1818
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Soma de quadrados
medparcela <- tapply(dados, paste(bloco, prepar), mean)
sqparcela <- 3*sum((medparcela - mean(dados))^2)
medbloco <- tapply(dados, bloco, mean)
sqbloco <- 9*sum((medbloco - mean(dados))^2)
medprepar <- tapply(dados, prepar, mean)
sqprepar <- 12*sum((medprepar - mean(dados))^2)
sqresa <- sqparcela - sqbloco -sqprepar
sqresa
## [1] 0.3861111
sqbloco
## [1] 0.5297222
sqprepar
## [1] 8.911667
summary(mod)
##
## Error: bloco
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 3 0.5297 0.1766
##
## Error: bloco:prepar
## Df Sum Sq Mean Sq F value Pr(>F)
## prepar 2 8.912 4.456 69.24 7.16e-05 ***
## Residuals 6 0.386 0.064
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## cult 2 1.322 0.6608 3.636 0.047181 *
## prepar:cult 4 6.107 1.5267 8.399 0.000525 ***
## Residuals 18 3.272 0.1818
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
medcult <- tapply(dados, cult, mean)
sqcult <- 12*sum((medcult - mean(dados))^2)
medint <- tapply(dados, paste(prepar, cult), mean)
sqint <- 4*sum((medint - mean(dados))^2)- sqcult - sqprepar
sqtot <- sum((dados- mean(dados))^2)
sqresb <- sqtot- sqparcela - sqint- sqcult
sqcult
## [1] 1.321667
sqint
## [1] 6.106667
sqresb
## [1] 3.271667
summary(mod)
##
## Error: bloco
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 3 0.5297 0.1766
##
## Error: bloco:prepar
## Df Sum Sq Mean Sq F value Pr(>F)
## prepar 2 8.912 4.456 69.24 7.16e-05 ***
## Residuals 6 0.386 0.064
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## cult 2 1.322 0.6608 3.636 0.047181 *
## prepar:cult 4 6.107 1.5267 8.399 0.000525 ***
## Residuals 18 3.272 0.1818
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
df <- data.frame(dados, cult, bloco, prepar)
# Prepar -> cult -> valores
# Within, resb é suficiente para fazer os testes (teste para as sub parcela)
interaction.plot(prepar, cult, dados)

## testes se tem diferença sig. em cada prepar
sqprep1 = summary(aov(dados~cult ,data = df[df$prepar==1,]))[[1]][1,2]
sqprep2 = summary(aov(dados~cult ,data = df[df$prepar==2,]))[[1]][1,2]
sqprep3 = summary(aov(dados~cult ,data = df[df$prepar==3,]))[[1]][1,2]
sqprep1+sqprep2+sqprep3
## [1] 7.428333
sqint +sqcult
## [1] 7.428333
## Teste se existe alguma diferença dentro de cada prepar
1-pf(c(sqprep1,sqprep2,sqprep3)/(sqresb/18),2,18)
## [1] 1.580133e-05 1.187933e-03 1.853098e-03
## Testes 2 a 2 para cada nivel de prepar
# 4 é quantidade de blocos por preparo/cult
qtukey(.95, 3, 18)*sqrt((sqresb/18)/4)
## [1] 0.7693814
### nivel de prepar = 1
so <- df[df$prepar== 1, ]
dist(tapply(so$dados, so$cult, mean))
## a b
## b 0.125
## c 1.275 1.150
# cult -> prepar -> valores
# terar que criar um residuo composto
interaction.plot(cult, prepar, dados)

## Testes 2 a 2 para o cultivo, se os preparos sao diferentes
k = 3 # quantidade de sub parcelas
sqcult1 = summary(aov(dados~prepar ,data = df[df$cult=="a",]))[[1]][1,2]
sqcult2 = summary(aov(dados~prepar ,data = df[df$cult=="b",]))[[1]][1,2]
sqcult3 = summary(aov(dados~prepar ,data = df[df$cult=="c",]))[[1]][1,2]
sqcult1+sqcult2+sqcult3
## [1] 15.01833
sqint + sqprepar
## [1] 15.01833
qmresa <- sqresa/6
qmresb <- sqresb/18
qmrescomp <- 1/3*(qmresa+ 2*qmresb)
glcomp <- (qmresa+ 2*qmresb)^2/(qmresa^2/6+ (2*qmresb)^2/18)
# Testes
# Teste se para cada nivel de cult tem diferenca no prep
1-pf(c(sqcult1,sqcult2,sqcult3)/qmrescomp, 3, round(glcomp))
## [1] 5.954688e-02 8.741906e-06 1.102674e-12
## Testes 2 a 2 para cada nivel de cult
# 4 é quantidade de blocos por preparo/cult
# Tukey
qtukey(.95, 3, round(glcomp))*sqrt(qmrescomp/4)
## [1] 0.6687644
# fisher
qt(0.975, round(glcomp))*sqrt(2*qmrescomp/4)
## [1] 0.5524196
so <- df[df$cult== "c", ]
dist(tapply(so$dados, so$prepar, mean))
## 1 2
## 2 2.375
## 3 1.825 0.550