El diseño tradicional de parcela dividida es, desde el punto de vista del análisis estadístico, similar al diseño de medidas repetidas de dos factores de la semana pasada. El diseño consta de bloques (o parcelas enteras) en los que se aplica un factor (el factor de parcela completa) al azar. Dentro de cada parcela / bloque completo, se divide en unidades más pequeñas y los niveles del segundo factor se aplican aleatoriamente a las partes más pequeñas de toda la parcela. La clave es que la unidad experimental es diferente para cada factor.

Ejemplo de avena

En este ejemplo, se plantan campos enteros con uno de los tres tipos de avena. Estas son las parcelas completas, de las cuales hay 18. Cada parcela completa se divide en cuatro parcelas divididas, a cada una de las cuales se le asignó aleatoriamente uno de los cuatro niveles de nitrógeno. Se determinó el rendimiento (en bushels / acre) de avena. Son de interés las diferencias en la variedad de avena y los niveles de nitrógeno.

library(readxl)
## Warning: package 'readxl' was built under R version 4.0.3
sp.avena <- read_xlsx("oats.xlsx")
sp.avena <- within(sp.avena, nitroF <- factor(nitro))
head(sp.avena)
## # A tibble: 6 x 6
##   observation replicate variety     nitro yield nitroF
##         <dbl> <chr>     <chr>       <chr> <dbl> <fct> 
## 1           1 I         Victory     0.0     111 0.0   
## 2           2 I         Victory     0.2     130 0.2   
## 3           3 I         Victory     0.4     157 0.4   
## 4           4 I         Victory     0.6     174 0.6   
## 5           5 I         Golden.rain 0.00    117 0.00  
## 6           6 I         Golden.rain 0.20    114 0.20
library(lattice)  # Can only list one package at a time
library(car)
## Warning: package 'car' was built under R version 4.0.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.0.3
library(agricolae)
## Warning: package 'agricolae' was built under R version 4.0.3
with(sp.avena, xyplot(yield ~ nitroF | variety))

with(sp.avena, xyplot(yield ~ nitroF | variety, groups = replicate))

with(sp.avena, xyplot(yield ~ nitroF | variety, groups = replicate, aspect = "xy"))

with(sp.avena, xyplot(yield ~ nitroF | variety, groups = replicate, aspect = "xy", 
    type = "o"))

with(sp.avena, xyplot(yield ~ nitroF | variety, groups = replicate, aspect = "xy", 
    type = "a"))

Si ignora el diseño experimental, obtendrá los siguientes resultados incorrectos. Tenga en cuenta que el error df es mayor, lo que facilita la detección de diferencias que realmente no existen.

res.bad <- lm(yield ~ variety * nitroF, data = sp.avena)
anova(res.bad)
## Analysis of Variance Table
## 
## Response: yield
##                Df  Sum Sq Mean Sq F value    Pr(>F)    
## variety         2  1786.4   893.2  2.5289   0.08882 .  
## nitroF          7 30184.7  4312.1 12.2088 2.348e-09 ***
## variety:nitroF  6   235.9    39.3  0.1113   0.99476    
## Residuals      56 19779.0   353.2                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

El análisis en R sigue el mismo patrón que la semana pasada. El factor de “variedad” solo tiene (18-1) gl total para usar cuando se prueban las diferencias en la variedad. Por lo tanto, necesitamos especificar correctamente el término de error para variedad. Cabe señalar que la forma del “Error (A: parcela completa)” puede cambiar dependiendo de la disposición de los datos. La clave es saber el gl correcto para que sepa tener los resultados correctos.

res.good <- aov(yield ~ variety * nitroF + Error(replicate:variety), data = sp.avena)
## Warning in aov(yield ~ variety * nitroF + Error(replicate:variety), data =
## sp.avena): Error() model is singular
summary(res.good)
## 
## Error: replicate:variety
##           Df Sum Sq Mean Sq F value  Pr(>F)   
## variety    2   1786     893   1.042 0.37872   
## nitroF     1   9883    9883  11.524 0.00436 **
## Residuals 14  12006     858                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Error: Within
##                Df Sum Sq Mean Sq F value   Pr(>F)    
## nitroF          6  20302    3384  18.283 2.66e-10 ***
## variety:nitroF  6    236      39   0.212    0.971    
## Residuals      42   7773     185                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Para verificar las suposiciones, no es necesario utilizar el término de error. Puede agregar el término sin error, pero las pruebas F son incorrectas. Sin embargo, la verificación de suposiciones está bien.

res.good2 <- aov(yield ~ variety * nitroF + replicate:variety, data = sp.avena)
summary(res.good2)
##                   Df Sum Sq Mean Sq F value   Pr(>F)    
## variety            2   1786     893   4.826    0.013 *  
## nitroF             7  30185    4312  23.300 1.48e-12 ***
## variety:nitroF     6    236      39   0.212    0.971    
## variety:replicate 14  12006     858   4.634 5.41e-05 ***
## Residuals         42   7773     185                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(res.good2, 1)

plot(res.good2, 2)
## Warning: not plotting observations with leverage one:
##   1, 2, 3, 4

boxCox(res.good2)

Dado que la gráfica de Box-Cox es buena, no es necesario realizar ninguna transformación.