#Datos Balanceados:
Explicación: Analisis de varianza desbalanceada: Es decir no tengo las mismas repeticiones por tratamiento, variable de respuesta va a ser porcentaje de germinación
Explicación: aqui se utilizara como variable de respuesta el porcentaje de germinacion, el factor unitario es la escarificacion (raspar el epispermo de la semila con una herramienta o quimicamente con acido antes de germinar). Se utilizaran 2 concentraciones suaves de acido
set.seed(123)
# variable respuesta
porc_germ=c(
rnorm(40,60,6),
rnorm(40,70,7),
rnorm(40,80,8)
)
#factor
acido=gl(3,40,120, c('CO','C1','C2'))
datos= data.frame(acido, porc_germ)
head(datos)Explicacion: mi hipotesis es que las medias de la variable de respuesta (porcentaje de germinación) en la concentración 0, concentración 1 y concentracion 2 son iguales entre si, es decir:
los asteriscos en cada media dicen que la hipotesis es de un modelo desbalanceado
\[H_O:\mu_{CO}*=\mu_{CI}*=\mu_{C2}*\\ H_a: H_0\text{es falsa}\]
Desbalanceado:No hay la misma cantidad de repeticiones porque en el proceso de experimentacion se dañaron alguans muestras, el diseño sigue siendo factorial simple completamente al aza, lo que se busca probar es que la media de la respuesta en la concentraciones son iguales
Explicacion: Ahora se crea el desbalance de los datos para hacer la comparacion con el set de datos anterior que si estan completos
A continuacion se muestra una tabla de comparacion entre los datos balanceados y desbalanceados, en la primera son 40 repeticiones por cada tratamiento, en la segunda tabla se perdieron dos datos del tratamiento C2 y uno del C1
table(datos$acido)##
## CO C1 C2
## 40 40 40
datos_des=datos[-c(50,111,120), ]
table(datos_des$acido)##
## CO C1 C2
## 40 39 38
## Analisis de varianza balanceado
mod1=aov(porc_germ ~ acido, datos)
summary(mod1)## Df Sum Sq Mean Sq F value Pr(>F)
## acido 2 7835 3918 98.15 <2e-16 ***
## Residuals 117 4670 40
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(datos$porc_germ ~ datos$acido)
### Analisis de varianza (con los datos desbalanceados)
mod2=aov(porc_germ ~ acido, datos_des)
summary(mod2)## Df Sum Sq Mean Sq F value Pr(>F)
## acido 2 7898 3949 98.39 <2e-16 ***
## Residuals 114 4576 40
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Explicacion: de las comparaciones entre el modelo balanceado (mod1) y el desbalanceado (mod2):el p valor en un diseño balanceado fue menor al 5 % se rechaza la hipotesis de que la germinacion fue igual en todas las concentraciones, el boxplot nos indica una mayor germinacion de las semillas al utilizar una concentracion mas alta de acido, la peor germinacion fue en el control. En el diseño desbalanceado,con tres datos menos se hizo la prueba aov se evidencia un cambio en el valor de F pero no en el valor de p, el resto de parametros presentan pequeños cambios; hay que tener cuidado con la funcion aov no esta diseñado para modelos desbalanceados, para este caso se usa la libreria “car” y el modelo ANOVA tipo II (suma de cuadrados que es calculada a traves del desbalance), debido a que son de un solo factor la prueba no mostro grandes diferencias en los resulados en el modelo con aov (mod2) y el modelo ANOVA (mod3)
el modelo aov esta diseñado para modelos balanceados no para desbalanceados a pesar que al correr ambos si se encontro que un p valor similar
mod3=lm(porc_germ ~ acido, datos_des)
library(car)## Loading required package: carData
mod3_res= Anova(mod3, type='II')
mod3_resmod1: antes de perder los datos: mod2 y mod3: desbalanceados para mirar aov y ANOVA Nota:si el modelo es de un solo factor sirve a pesar de estar desbalanceado, cuando le mete covariables o bloques ya no es posible
set.seed(123)
porc_germ=c(
rnorm(40,60,6),
rnorm(40,70,7),
rnorm(40,80,8)
)
bloq= gl(3,40,120, c('BO','B1','B2'))
acido=gl(4,10,120, c('CO','C1','C2','C3'))
datos= data.frame(acido,bloq, porc_germ)
datos_des = datos[-sample(120, 5), ]
datos_des= datos[-c(50,111,120), ]
datos_destable(datos_des$bloq,datos_des$acido)##
## CO C1 C2 C3
## BO 10 10 10 10
## B1 9 10 10 10
## B2 10 10 10 8
mod1 = aov(porc_germ ~ bloq * acido,
datos_des)
summary(mod1)## Df Sum Sq Mean Sq F value Pr(>F)
## bloq 2 7898 3949 102.076 <2e-16 ***
## acido 3 248 83 2.133 0.100
## bloq:acido 6 266 44 1.145 0.342
## Residuals 105 4062 39
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod2 = lm(porc_germ ~ bloq * acido,
datos_des)
mod2_res = Anova(mod2, type='II')
mod2_resmod3 = lm(porc_germ ~ bloq + acido + bloq:acido, datos_des)
Anova(mod3, type='II')mod3 = lm(porc_germ ~ acido + bloq + bloq:acido, datos_des)
Anova(mod3, type='II')mod3 = lm(porc_germ ~ bloq:acido + acido + bloq, datos_des)
Anova(mod3, type='II')mod3 = lm(porc_germ ~ bloq:acido + bloq + acido, datos_des)
Anova(mod3, type='II')Se usa tipo dos, porque el mismo hace el ajuste, no tengo el problema de las diferencias. Se uso el articulo ( ANOVA for unbalanced data: Use type II instead of type III sums of squares). Alli encuantra la explicacion de porque utiliza el tipo dos y no el tres y uno
set.seed(123)
porc_germ=c(
rnorm(40,60,6),
rnorm(40,70,7),
rnorm(40,80,8)
)
#covariable: se saca con promedio geometrico (foto)
diam_med= rnorm(120,12,1.3)
# bloques
bloq= gl(3,40,120, c('BO','B1','B2'))
acido=gl(4,10,120, c('CO','C1','C2','C3'))
datos= data.frame(acido,bloq, porc_germ)
datos_des = datos[-sample(120, 5), ]
datos_destable(datos_des$bloq,datos_des$acido)##
## CO C1 C2 C3
## BO 10 9 9 10
## B1 10 10 9 9
## B2 10 9 10 10
Explicacion:porque no tengo las mismas repeticiones- Analisis de covarianza
tapply (datos_des$porc_germ,
datos_des$acido,
mean, na.rm=TRUE)## CO C1 C2 C3
## 70.96384 72.04659 68.44023 69.07068