Un experimento factorial en un Diseño Completamente al Azar (DCA) consiste en la combinación de dos o más factores, cada uno con varios niveles, de modo que se evalúan todas las posibles combinaciones de tratamientos. Este tipo de diseño se utiliza cuando las unidades experimentales son homogéneas y no se requiere controlar variabilidad adicional mediante el bloqueo. El análisis factorial en un DCA permite estimar los efectos principales de cada factor y sus interacciones, es decir, examinar si la respuesta de un factor depende de los niveles del otro. Gracias a su simplicidad y eficiencia, el experimento factorial en DCA resulta especialmente útil en situaciones donde las condiciones experimentales se mantienen relativamente uniformes y el interés se centra en comprender la influencia conjunta de los factores en estudio.
Abordaremos a continuación la situación que se presenta cuando existe interacción entre dos factores puestos a prueba en un experimento sin estructura de parcela (DCA).
La base de datos “cerdos.xlsx” contiene los registros de un experimento que buscaba evaluar el efecto de dos factores en la ganancia de peso de cerdos en engorde durante un periodo de 10 días. El ensayo se llevó a cabo en un Diseño Completamente al Azar seleccionando 36 animales con características homogéneas respecto de la raza y el sexo, mientras que la edad y el peso presentan mínimas diferencias respecto de su variabilidad.
Factores:
Objetivo del experimento
Evaluar el efecto del tipo de alimento y de la suplementación, así como su posible interacción, sobre la ganancia de peso de los cerdos.
Preguntas a responder
¿Cual es la mejor combinación de factores que me permite obtener la mayor ganancia de peso en cerdos?
¿El tipo de alimento influye en la ganancia de peso?
¿La suplementación contribuye a mejorar la ganacia de peso?
El modelo matemático para un diseño factorial en un Diseño Completamente al Azar (DCA) es:
\[Y_{ijk} = \mu + \alpha_i + \beta_j + (\alpha\beta)_{ij} + \varepsilon_{ijk}\]
donde:
H0: (⍺𝜷) = 0 (No hay interacción: el efecto de un factor es independiente del otro)
H1: (⍺𝜷) ≠ 0 (Existe interacción entre los factores)
H0 ⍺ = 0 (El tipo de alimento no tiene efecto sobre la ganancia de peso de los cerdos)
H1 ⍺ ≠ 0 (Al menos un tipo de alimento produce diferencias en la ganancia de peso)
H0: 𝜷 = 0 (No hay efecto en la ganancia de peso si suplemento o no suplemento).
H1: 𝜷 ≠ 0 (La ganancia de peso difiere según suplemente o no suplemento).
Responder:
¿Cuál es la unidad experimental?
¿Cuáles son los factores y sus niveles?
¿Cuál es la variable respuesta?
Indique cantidad de tratamientos y repeticiones
## tibble [36 × 4] (S3: tbl_df/tbl/data.frame)
## $ ALIMENTO : chr [1:36] "maiz" "maiz" "maiz" "maiz" ...
## $ SUPLEMENTO : chr [1:36] "sin_supl" "sin_supl" "sin_supl" "sin_supl" ...
## $ TRATAMIENTOS : chr [1:36] "maiz_sin_supl" "maiz_sin_supl" "maiz_sin_supl" "maiz_sin_supl" ...
## $ GANANCIA_PESO: num [1:36] 750 740 760 745 755 752 820 810 830 815 ...
# Cambiar las variables de tipo "character" a tipo "Factor"
CERDOS <- CERDOS %>%
mutate(
ALIMENTO = factor(ALIMENTO),
SUPLEMENTO = factor(SUPLEMENTO),
TRATAMIENTOS = factor(TRATAMIENTOS))## tibble [36 × 4] (S3: tbl_df/tbl/data.frame)
## $ ALIMENTO : Factor w/ 3 levels "cebada","maiz",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ SUPLEMENTO : Factor w/ 2 levels "con_supl","sin_supl": 2 2 2 2 2 2 1 1 1 1 ...
## $ TRATAMIENTOS : Factor w/ 6 levels "cebada_con_supl",..: 4 4 4 4 4 4 3 3 3 3 ...
## $ GANANCIA_PESO: num [1:36] 750 740 760 745 755 752 820 810 830 815 ...
## Descriptive Statistics
## GANANCIA_PESO by TRATAMIENTOS
## Data Frame: CERDOS
## N: 36
##
## cebada_con_supl cebada_sin_supl maiz_con_supl maiz_sin_supl
## ----------------- ----------------- ----------------- --------------- ---------------
## Mean 804.50 714.33 820.33 750.33
## Std.Dev 7.18 7.17 7.12 7.12
## Min 795.00 705.00 810.00 740.00
## Q1 800.00 710.00 815.00 745.00
## Median 803.50 713.00 821.00 751.00
## Q3 810.00 720.00 825.00 755.00
## Max 815.00 725.00 830.00 760.00
## MAD 7.41 7.41 7.41 7.41
## IQR 8.25 8.00 8.00 8.00
## CV 0.01 0.01 0.01 0.01
## Skewness 0.16 0.22 -0.11 -0.11
## SE.Skewness 0.85 0.85 0.85 0.85
## Kurtosis -1.64 -1.62 -1.61 -1.61
## N.Valid 6.00 6.00 6.00 6.00
## N 6.00 6.00 6.00 6.00
## Pct.Valid 100.00 100.00 100.00 100.00
##
## Table: Table continues below
##
##
##
## sorgo_con_supl sorgo_sin_supl
## ----------------- ---------------- ----------------
## Mean 785.50 694.50
## Std.Dev 7.18 7.18
## Min 775.00 685.00
## Q1 780.00 690.00
## Median 786.50 693.50
## Q3 790.00 700.00
## Max 795.00 705.00
## MAD 7.41 7.41
## IQR 8.25 8.25
## CV 0.01 0.01
## Skewness -0.16 0.16
## SE.Skewness 0.85 0.85
## Kurtosis -1.64 -1.64
## N.Valid 6.00 6.00
## N 6.00 6.00
## Pct.Valid 100.00 100.00
modelo_factorial_dca_cerdos <- aov( GANANCIA_PESO ~ ALIMENTO + SUPLEMENTO + ALIMENTO:SUPLEMENTO, data = CERDOS)
summary(modelo_factorial_dca_cerdos)## Df Sum Sq Mean Sq F value Pr(>F)
## ALIMENTO 2 12415 6208 121.202 4.25e-15 ***
## SUPLEMENTO 1 63085 63085 1231.722 < 2e-16 ***
## ALIMENTO:SUPLEMENTO 2 848 424 8.282 0.00137 **
## Residuals 30 1536 51
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
La interacción es significativa, lo que significa que el efecto del tipo de Alimento sobre la Ganancia de Peso es diferente según se suplemente o no.
En ANOVA los supuestos se evalúan sobre los residuos del modelo, no sobre las variables originales.
##
## Shapiro-Wilk normality test
##
## data: modelo_factorial_dca_cerdos$residuals
## W = 0.94528, p-value = 0.07428
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 5 0.0029 1
## 30
# Generar gráfico de interacción con paquete emmeans::emmip
emmip(modelo_factorial_dca_cerdos, ALIMENTO ~ SUPLEMENTO) # Alimento eje "y" y Suplemento eje "x"## [1] "con_supl" "sin_supl"
emmip(modelo_factorial_dca_cerdos, ALIMENTO ~ SUPLEMENTO,
at = list(SUPLEMENTO = c("sin_supl", "con_supl"))) # indica el orden #Le indicamos a R que tome el modelo ANOVA creado y le aplique un Test de Tukey a la interacción entre los factores.
Tukey_interacc_cerdos <- HSD.test(modelo_factorial_dca_cerdos, c("ALIMENTO","SUPLEMENTO"))
Tukey_interacc_cerdos## $statistics
## MSerror Df Mean CV MSD
## 51.21667 30 761.5833 0.9396978 12.56743
##
## $parameters
## test name.t ntr StudentizedRange alpha
## Tukey ALIMENTO:SUPLEMENTO 6 4.301464 0.05
##
## $means
## GANANCIA_PESO std r se Min Max Q25 Q50 Q75
## cebada:con_supl 804.5000 7.176350 6 2.921662 795 815 800.50 803.5 808.75
## cebada:sin_supl 714.3333 7.174027 6 2.921662 705 725 710.50 713.0 718.50
## maiz:con_supl 820.3333 7.118052 6 2.921662 810 830 816.25 821.0 824.25
## maiz:sin_supl 750.3333 7.118052 6 2.921662 740 760 746.25 751.0 754.25
## sorgo:con_supl 785.5000 7.176350 6 2.921662 775 795 781.25 786.5 789.50
## sorgo:sin_supl 694.5000 7.176350 6 2.921662 685 705 690.50 693.5 698.75
##
## $comparison
## NULL
##
## $groups
## GANANCIA_PESO groups
## maiz:con_supl 820.3333 a
## cebada:con_supl 804.5000 b
## sorgo:con_supl 785.5000 c
## maiz:sin_supl 750.3333 d
## cebada:sin_supl 714.3333 e
## sorgo:sin_supl 694.5000 f
##
## attr(,"class")
## [1] "group"
ggplot(CERDOS, aes(x = SUPLEMENTO, y = GANANCIA_PESO, fill = ALIMENTO)) +
stat_summary(fun = mean, # calcula la media para cada tratamiento
geom = "bar", # usa barras para mostrar la media de cada tratamiento
position = position_dodge(width = 0.9)) + # evita que se superpongan las barras
labs(x = "Suplementación",
y = "Ganancia de Peso (g)") +
scale_x_discrete(limits = c("sin_supl", "con_supl")) + # orden del eje x
scale_y_continuous(limits = c(0, 1000)) + # modificamos la escala eje "y"
theme_minimal()