#analisis de varianza desbalanceado TEMA#
#factor simple completamente al azar (FSCA)
#BALANCEADO
#variable respuesta: porcentaje de germinación
set.seed(123)
porc_germ= c(
rnorm(40,60,6),
rnorm(40,70,7),
rnorm(40,80,8))
#Factor: escarificación
acido= gl(3,40,120, c("c0","c1","c2"))
#c0= sin acido
#c1= concentracion 1
#c2= concentracion 2
datos= data.frame(acido,porc_germ)
head(datos)
## acido porc_germ
## 1 c0 56.63715
## 2 c0 58.61894
## 3 c0 69.35225
## 4 c0 60.42305
## 5 c0 60.77573
## 6 c0 70.29039
table(datos$acido)
##
## c0 c1 c2
## 40 40 40
#datos desbalanceados
datos_des= datos[-c(50,111,120),]
datos_des
## acido porc_germ
## 1 c0 56.63715
## 2 c0 58.61894
## 3 c0 69.35225
## 4 c0 60.42305
## 5 c0 60.77573
## 6 c0 70.29039
## 7 c0 62.76550
## 8 c0 52.40963
## 9 c0 55.87888
## 10 c0 57.32603
## 11 c0 67.34449
## 12 c0 62.15888
## 13 c0 62.40463
## 14 c0 60.66410
## 15 c0 56.66495
## 16 c0 70.72148
## 17 c0 62.98710
## 18 c0 48.20030
## 19 c0 64.20814
## 20 c0 57.16325
## 21 c0 53.59306
## 22 c0 58.69215
## 23 c0 53.84397
## 24 c0 55.62665
## 25 c0 56.24976
## 26 c0 49.87984
## 27 c0 65.02672
## 28 c0 60.92024
## 29 c0 53.17118
## 30 c0 67.52289
## 31 c0 62.55879
## 32 c0 58.22957
## 33 c0 65.37075
## 34 c0 65.26880
## 35 c0 64.92949
## 36 c0 64.13184
## 37 c0 63.32351
## 38 c0 59.62853
## 39 c0 58.16422
## 40 c0 57.71717
## 41 c1 65.13705
## 42 c1 68.54458
## 43 c1 61.14223
## 44 c1 85.18269
## 45 c1 78.45573
## 46 c1 62.13824
## 47 c1 67.17981
## 48 c1 66.73341
## 49 c1 75.45976
## 51 c1 71.77323
## 52 c1 69.80017
## 53 c1 69.69991
## 54 c1 79.58022
## 55 c1 68.41960
## 56 c1 80.61529
## 57 c1 59.15873
## 58 c1 74.09230
## 59 c1 70.86698
## 60 c1 71.51159
## 61 c1 72.65748
## 62 c1 66.48374
## 63 c1 67.66755
## 64 c1 62.86997
## 65 c1 62.49746
## 66 c1 72.12470
## 67 c1 73.13747
## 68 c1 70.37103
## 69 c1 76.45587
## 70 c1 84.35059
## 71 c1 66.56278
## 72 c1 53.83582
## 73 c1 77.04017
## 74 c1 65.03559
## 75 c1 65.18394
## 76 c1 77.17900
## 77 c1 68.00659
## 78 c1 61.45498
## 79 c1 71.26912
## 80 c1 69.02776
## 81 c2 80.04611
## 82 c2 83.08224
## 83 c2 77.03472
## 84 c2 85.15501
## 85 c2 78.23611
## 86 c2 82.65426
## 87 c2 88.77471
## 88 c2 83.48145
## 89 c2 77.39255
## 90 c2 89.19046
## 91 c2 87.94803
## 92 c2 84.38718
## 93 c2 81.90985
## 94 c2 74.97675
## 95 c2 90.88522
## 96 c2 75.19792
## 97 c2 97.49866
## 98 c2 92.26089
## 99 c2 78.11440
## 100 c2 71.78863
## 101 c2 74.31675
## 102 c2 82.05507
## 103 c2 78.02646
## 104 c2 77.21966
## 105 c2 72.38705
## 106 c2 79.63978
## 107 c2 73.72076
## 108 c2 66.65646
## 109 c2 76.95819
## 110 c2 87.35197
## 112 c2 84.86371
## 113 c2 67.05694
## 114 c2 79.55550
## 115 c2 84.15526
## 116 c2 82.40923
## 117 c2 80.84541
## 118 c2 74.87435
## 119 c2 73.20237
\[H_0: \mu_{c0}=\mu_{c1}=\mu_{c2}\] #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
#Normalmente se usa la funcion "aov" y summary para el analisis de varianza.
#conclusion: el p_valor es <5% se rechaza H_0, no se cumple la igualdad de medias
mu=mean(datos$porc_germ)
boxplot(datos$porc_germ ~ datos$acido)
abline(h=mu, lty=2, col="red")
#las medias efectivamente son diferentes
#analisis de varianza desbalanceado
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
x=hist(mod2$residuals)
y=hist(mod1$residuals)
x;y
## $breaks
## [1] -20 -15 -10 -5 0 5 10 15 20
##
## $counts
## [1] 1 5 17 37 35 14 6 2
##
## $density
## [1] 0.001709402 0.008547009 0.029059829 0.063247863 0.059829060 0.023931624
## [7] 0.010256410 0.003418803
##
## $mids
## [1] -17.5 -12.5 -7.5 -2.5 2.5 7.5 12.5 17.5
##
## $xname
## [1] "mod2$residuals"
##
## $equidist
## [1] TRUE
##
## attr(,"class")
## [1] "histogram"
## $breaks
## [1] -20 -15 -10 -5 0 5 10 15 20
##
## $counts
## [1] 1 5 17 40 34 15 6 2
##
## $density
## [1] 0.001666667 0.008333333 0.028333333 0.066666667 0.056666667 0.025000000
## [7] 0.010000000 0.003333333
##
## $mids
## [1] -17.5 -12.5 -7.5 -2.5 2.5 7.5 12.5 17.5
##
## $xname
## [1] "mod1$residuals"
##
## $equidist
## [1] TRUE
##
## attr(,"class")
## [1] "histogram"
#conclusión: el p_valor <5%: se rechaza la H_0, son diferentes, este metodo sirve SIEMPRE Y CUANDO sea de un factor y son bloqueo, ademÔs porque la perdida de datos no hice gran efecto el las medias, no sirve para datos desbalanceados
#los dos histogramas presentan normalidad en los residuos.
mod3= lm(porc_germ~acido, datos_des);mod3
##
## Call:
## lm(formula = porc_germ ~ acido, data = datos_des)
##
## Coefficients:
## (Intercept) acidoc1 acidoc2
## 60.271 9.696 20.132
library(car) # se instala una libreria que se adapte a la anormalidad de los datos(desbalanceados)
## Loading required package: carData
mm= Anova(mod3, type="II")
summary(mod1);summary(mod2);mm
## 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
## 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
## Anova Table (Type II tests)
##
## Response: porc_germ
## Sum Sq Df F value Pr(>F)
## acido 7898.3 2 98.392 < 2.2e-16 ***
## Residuals 4575.6 114
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#normalmente el codigo "aov" nos ayuda a calcuclar el analisis de varianzas tipo I, que son datos balanceados
#el uso del codigo "lm()" es para darle un comportamiento mas adecuado a los datos desbalanceados, ajuste de los datos a un modelo de regresion lineal.
#en este caso "Anova" es un modelo de analisis de varianza de tipo "I","II","III", (no hay necesidad del "I" por obvias razones -existe un modelo para ellos-)
#para el caso de un diseƱo facor simple, no importa la metodologia, si son balanceados o desbalanceados
#analisis con bloqueo simple desbalanceado
set.seed(123)
#respuesta
porc_germ= c(
rnorm(40,60,6),
rnorm(40,70,7),
rnorm(40,80,8)
)
#bloqueo
bloque= gl(3,40,120, c("B0","B1","B2"))
#factor
acido=gl(4,10,120, c("C0","C1","C2","C3"))
datos= data.frame(acido,bloque,porc_germ)
#datos_des= datos[-c(50,111,120),]
datos_des= datos[-sample(120, 5),]
#datos desbalanceados: se han perdido 5 variables recolectadas(respuesta,bloqueo,factor-la fila de la tabla-)
datos_des
## acido bloque porc_germ
## 1 C0 B0 56.63715
## 2 C0 B0 58.61894
## 3 C0 B0 69.35225
## 4 C0 B0 60.42305
## 5 C0 B0 60.77573
## 6 C0 B0 70.29039
## 7 C0 B0 62.76550
## 8 C0 B0 52.40963
## 9 C0 B0 55.87888
## 10 C0 B0 57.32603
## 11 C1 B0 67.34449
## 12 C1 B0 62.15888
## 13 C1 B0 62.40463
## 15 C1 B0 56.66495
## 17 C1 B0 62.98710
## 18 C1 B0 48.20030
## 19 C1 B0 64.20814
## 20 C1 B0 57.16325
## 21 C2 B0 53.59306
## 22 C2 B0 58.69215
## 23 C2 B0 53.84397
## 24 C2 B0 55.62665
## 25 C2 B0 56.24976
## 26 C2 B0 49.87984
## 27 C2 B0 65.02672
## 28 C2 B0 60.92024
## 29 C2 B0 53.17118
## 30 C2 B0 67.52289
## 31 C3 B0 62.55879
## 32 C3 B0 58.22957
## 34 C3 B0 65.26880
## 35 C3 B0 64.92949
## 36 C3 B0 64.13184
## 37 C3 B0 63.32351
## 38 C3 B0 59.62853
## 39 C3 B0 58.16422
## 40 C3 B0 57.71717
## 41 C0 B1 65.13705
## 42 C0 B1 68.54458
## 43 C0 B1 61.14223
## 44 C0 B1 85.18269
## 45 C0 B1 78.45573
## 46 C0 B1 62.13824
## 47 C0 B1 67.17981
## 48 C0 B1 66.73341
## 49 C0 B1 75.45976
## 50 C0 B1 69.41642
## 51 C1 B1 71.77323
## 52 C1 B1 69.80017
## 53 C1 B1 69.69991
## 54 C1 B1 79.58022
## 55 C1 B1 68.41960
## 56 C1 B1 80.61529
## 57 C1 B1 59.15873
## 58 C1 B1 74.09230
## 59 C1 B1 70.86698
## 60 C1 B1 71.51159
## 61 C2 B1 72.65748
## 62 C2 B1 66.48374
## 63 C2 B1 67.66755
## 64 C2 B1 62.86997
## 65 C2 B1 62.49746
## 66 C2 B1 72.12470
## 67 C2 B1 73.13747
## 68 C2 B1 70.37103
## 69 C2 B1 76.45587
## 70 C2 B1 84.35059
## 71 C3 B1 66.56278
## 72 C3 B1 53.83582
## 73 C3 B1 77.04017
## 74 C3 B1 65.03559
## 75 C3 B1 65.18394
## 76 C3 B1 77.17900
## 77 C3 B1 68.00659
## 78 C3 B1 61.45498
## 79 C3 B1 71.26912
## 80 C3 B1 69.02776
## 81 C0 B2 80.04611
## 82 C0 B2 83.08224
## 83 C0 B2 77.03472
## 84 C0 B2 85.15501
## 85 C0 B2 78.23611
## 86 C0 B2 82.65426
## 88 C0 B2 83.48145
## 89 C0 B2 77.39255
## 90 C0 B2 89.19046
## 91 C1 B2 87.94803
## 92 C1 B2 84.38718
## 93 C1 B2 81.90985
## 94 C1 B2 74.97675
## 95 C1 B2 90.88522
## 96 C1 B2 75.19792
## 97 C1 B2 97.49866
## 98 C1 B2 92.26089
## 99 C1 B2 78.11440
## 100 C1 B2 71.78863
## 101 C2 B2 74.31675
## 102 C2 B2 82.05507
## 103 C2 B2 78.02646
## 104 C2 B2 77.21966
## 105 C2 B2 72.38705
## 106 C2 B2 79.63978
## 107 C2 B2 73.72076
## 108 C2 B2 66.65646
## 109 C2 B2 76.95819
## 110 C2 B2 87.35197
## 111 C3 B2 75.39722
## 112 C3 B2 84.86371
## 113 C3 B2 67.05694
## 114 C3 B2 79.55550
## 115 C3 B2 84.15526
## 116 C3 B2 82.40923
## 118 C3 B2 74.87435
## 119 C3 B2 73.20237
## 120 C3 B2 71.80697
table(datos_des$bloque, datos_des$acido)
##
## C0 C1 C2 C3
## B0 10 8 10 9
## B1 10 10 10 10
## B2 9 10 10 9
#meter primero los bloques luego los factores al data.frame
#lo que todo el munod haria (mal), esta desbalanceado y hay bloqueo, se recomienda el uso de "lm()"
mod1= aov(porc_germ~bloque*acido, datos_des)
summary(mod1)
## Df Sum Sq Mean Sq F value Pr(>F)
## bloque 2 7478 3739 97.858 <2e-16 ***
## acido 3 238 79 2.073 0.108
## bloque:acido 6 276 46 1.203 0.311
## Residuals 103 3936 38
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#este codigo en estas condiciones no debe analizar si hay o no interacion entre el bloqueo y factor
#forma correcta
mod2=lm(porc_germ~bloque*acido, datos_des)
mod2_res=Anova(mod2, type= "II")
mod2_res
## Anova Table (Type II tests)
##
## Response: porc_germ
## Sum Sq Df F value Pr(>F)
## bloque 7399.0 2 96.8208 <2e-16 ***
## acido 237.7 3 2.0734 0.1083
## bloque:acido 275.8 6 1.2030 0.3108
## Residuals 3935.6 103
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(mod1);mod2_res
## Df Sum Sq Mean Sq F value Pr(>F)
## bloque 2 7478 3739 97.858 <2e-16 ***
## acido 3 238 79 2.073 0.108
## bloque:acido 6 276 46 1.203 0.311
## Residuals 103 3936 38
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Anova Table (Type II tests)
##
## Response: porc_germ
## Sum Sq Df F value Pr(>F)
## bloque 7399.0 2 96.8208 <2e-16 ***
## acido 237.7 3 2.0734 0.1083
## bloque:acido 275.8 6 1.2030 0.3108
## Residuals 3935.6 103
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(mod2$residuals, pch=16)
#los residuales tienen un comportamiento adecuado
#uso correcto es mod2= desbalanceado funcion lm (se ve verdaderamente si existe o no intecaccion), tambien gracias al Anova, que permite analizar precisamente esta funcion "lm()"
#conclusión: INTERACCIĆN: >5%, NO rechazo H_0.no hay interración
#el valor H del bloqueo es >1, si valio la pena realizar el bloqueo
#el p_valor del acido es >5%, los efectos son nuelos sobre nuestra respuesta, el acido no es un problema para el diametro geometrio de las semillas
#analisis con diferentes ordenes #comparacion del orden, para ver si afecta a la hora de realizar el analisis
mod3=lm(porc_germ~bloque+acido+ bloque:acido, datos_des)
mod3_res=Anova(mod2, type= "II")
mod4=lm(porc_germ~acido+bloque+ bloque:acido, datos_des)
mod4_res=Anova(mod2, type= "II")
mod6=lm(porc_germ~bloque:acido+acido+bloque, datos_des)
mod6_res=Anova(mod2, type= "II")
mod6=lm(porc_germ~bloque:acido+bloque+acido, datos_des)
mod6_res=Anova(mod2, type= "II")
mod3_res;mod4_res
## Anova Table (Type II tests)
##
## Response: porc_germ
## Sum Sq Df F value Pr(>F)
## bloque 7399.0 2 96.8208 <2e-16 ***
## acido 237.7 3 2.0734 0.1083
## bloque:acido 275.8 6 1.2030 0.3108
## Residuals 3935.6 103
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Anova Table (Type II tests)
##
## Response: porc_germ
## Sum Sq Df F value Pr(>F)
## bloque 7399.0 2 96.8208 <2e-16 ***
## acido 237.7 3 2.0734 0.1083
## bloque:acido 275.8 6 1.2030 0.3108
## Residuals 3935.6 103
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#type "II", nos ayuda a que la funcion (suma de cuadrados), realiza el ajuste solo, sin importar el orden que coloquemos en el codigo (lo mejor de lo mejor)
#type: "I": es para diseƱo balanceado(clasico)
#type: "III": diseƱo para desbalanceado(chachara vieja)
#ARTICULO: ANOVA for unbalanced data: Use type II instead of type III sums of squares. pone en evidencia que es mejor realizar el analisis con type II que un modelo antiguo como es el Type III
#Analisis de covariable #diseƱo factoriral simple en bloques completos generalizados y al azar,desbalanceado y con la tecnica de analisis de Covarianza #un factor: acido #bloques completos: 3 #generalizados: repeticiones en los bloques #desbalanceado: rep diferentes #ES UN ANALISIS DE COVARIANZA (covariable)
set.seed(123)
porc_germ= c(
rnorm(40,60,6),
rnorm(40,70,7),
rnorm(40,80,8)
)
diam_med= sort(rnorm(120,12,1.3))
#promedio geometrico: medicion de diferentes zonas de la semilla para luego multiplicarlas y sacar la Raiz
bloque= gl(3,40,120, c("B0","B1","B2"))
acido=gl(4,10,120, c("C0","C1","C2","C3"))
datos= data.frame(acido,bloque,porc_germ, diam_med)
class(datos$acido)
## [1] "factor"
library(collapsibleTree)
collapsibleTreeSummary(datos,
c("bloque","acido","diam_med","porc_germ"),F)
#datos_des= datos[-c(50,111,120),]
datos_des= datos[-sample(120, 5),]
#se eliminaron las filas de 5 datos recolectaros que "se perdieron"
datos_des
## acido bloque porc_germ diam_med
## 1 C0 B0 56.63715 9.330779
## 2 C0 B0 58.61894 9.918003
## 3 C0 B0 69.35225 9.956213
## 4 C0 B0 60.42305 10.030932
## 5 C0 B0 60.77573 10.099718
## 6 C0 B0 70.29039 10.101168
## 7 C0 B0 62.76550 10.122939
## 8 C0 B0 52.40963 10.287879
## 9 C0 B0 55.87888 10.295958
## 10 C0 B0 57.32603 10.326860
## 11 C1 B0 67.34449 10.329870
## 12 C1 B0 62.15888 10.361798
## 13 C1 B0 62.40463 10.373347
## 14 C1 B0 60.66410 10.392845
## 15 C1 B0 56.66495 10.458876
## 17 C1 B0 62.98710 10.617676
## 18 C1 B0 48.20030 10.636070
## 19 C1 B0 64.20814 10.679730
## 20 C1 B0 57.16325 10.689110
## 21 C2 B0 53.59306 10.709741
## 23 C2 B0 53.84397 10.768283
## 24 C2 B0 55.62665 10.836028
## 25 C2 B0 56.24976 10.874833
## 26 C2 B0 49.87984 10.974816
## 27 C2 B0 65.02672 10.984003
## 28 C2 B0 60.92024 11.036263
## 29 C2 B0 53.17118 11.039914
## 30 C2 B0 67.52289 11.060014
## 31 C3 B0 62.55879 11.067616
## 32 C3 B0 58.22957 11.084025
## 33 C3 B0 65.37075 11.152465
## 34 C3 B0 65.26880 11.205484
## 35 C3 B0 64.92949 11.226998
## 36 C3 B0 64.13184 11.253295
## 37 C3 B0 63.32351 11.253834
## 38 C3 B0 59.62853 11.309822
## 39 C3 B0 58.16422 11.329117
## 40 C3 B0 57.71717 11.350920
## 41 C0 B1 65.13705 11.362275
## 42 C0 B1 68.54458 11.371085
## 43 C0 B1 61.14223 11.380879
## 44 C0 B1 85.18269 11.404125
## 45 C0 B1 78.45573 11.426488
## 46 C0 B1 62.13824 11.450754
## 47 C0 B1 67.17981 11.458085
## 48 C0 B1 66.73341 11.461358
## 49 C0 B1 75.45976 11.513045
## 50 C0 B1 69.41642 11.515830
## 51 C1 B1 71.77323 11.527246
## 52 C1 B1 69.80017 11.545454
## 53 C1 B1 69.69991 11.577908
## 54 C1 B1 79.58022 11.635486
## 55 C1 B1 68.41960 11.655311
## 56 C1 B1 80.61529 11.659143
## 57 C1 B1 59.15873 11.667080
## 58 C1 B1 74.09230 11.692837
## 59 C1 B1 70.86698 11.720005
## 60 C1 B1 71.51159 11.743671
## 61 C2 B1 72.65748 11.762197
## 62 C2 B1 66.48374 11.844712
## 63 C2 B1 67.66755 11.882585
## 64 C2 B1 62.86997 11.907299
## 65 C2 B1 62.49746 11.929763
## 66 C2 B1 72.12470 11.955713
## 67 C2 B1 73.13747 12.049125
## 68 C2 B1 70.37103 12.053603
## 70 C2 B1 84.35059 12.084881
## 71 C3 B1 66.56278 12.101349
## 72 C3 B1 53.83582 12.110158
## 73 C3 B1 77.04017 12.122959
## 75 C3 B1 65.18394 12.155019
## 76 C3 B1 77.17900 12.278779
## 77 C3 B1 68.00659 12.278900
## 78 C3 B1 61.45498 12.306003
## 79 C3 B1 71.26912 12.316794
## 80 C3 B1 69.02776 12.387696
## 81 C0 B2 80.04611 12.403625
## 82 C0 B2 83.08224 12.421596
## 83 C0 B2 77.03472 12.431863
## 84 C0 B2 85.15501 12.479654
## 85 C0 B2 78.23611 12.544677
## 86 C0 B2 82.65426 12.567481
## 87 C0 B2 88.77471 12.586955
## 88 C0 B2 83.48145 12.671921
## 89 C0 B2 77.39255 12.706152
## 90 C0 B2 89.19046 12.731886
## 91 C1 B2 87.94803 12.780921
## 92 C1 B2 84.38718 12.803382
## 93 C1 B2 81.90985 12.827541
## 95 C1 B2 90.88522 12.912320
## 96 C1 B2 75.19792 12.919865
## 97 C1 B2 97.49866 12.961932
## 98 C1 B2 92.26089 12.980270
## 99 C1 B2 78.11440 12.999755
## 100 C1 B2 71.78863 13.024061
## 101 C2 B2 74.31675 13.150046
## 102 C2 B2 82.05507 13.270065
## 103 C2 B2 78.02646 13.368525
## 104 C2 B2 77.21966 13.442803
## 105 C2 B2 72.38705 13.442896
## 106 C2 B2 79.63978 13.470738
## 107 C2 B2 73.72076 13.602219
## 108 C2 B2 66.65646 13.642141
## 109 C2 B2 76.95819 13.706137
## 110 C2 B2 87.35197 13.877916
## 111 C3 B2 75.39722 14.146180
## 112 C3 B2 84.86371 14.178406
## 113 C3 B2 67.05694 14.397021
## 114 C3 B2 79.55550 14.481835
## 115 C3 B2 84.15526 14.541882
## 116 C3 B2 82.40923 14.596377
## 117 C3 B2 80.84541 14.730142
## 118 C3 B2 74.87435 14.766987
## 119 C3 B2 73.20237 14.858453
## 120 C3 B2 71.80697 16.213352
bb=tapply(datos_des$porc_germ, datos_des$acido,
mean,na.rm=T);bb
## C0 C1 C2 C3
## 70.96384 72.04659 68.44023 69.07068
table(datos_des$porc_germ, datos_des$acido)
##
## C0 C1 C2 C3
## 48.2002970602222 0 1 0 0
## 49.8798401355455 0 0 1 0
## 52.4096325923608 1 0 0 0
## 53.1711783779283 0 0 1 0
## 53.5930577640789 0 0 1 0
## 53.8358178705143 0 0 0 1
## 53.8439733101566 0 0 1 0
## 55.6266526242532 0 0 1 0
## 55.8788828886388 1 0 0 0
## 56.2497643929045 0 0 1 0
## 56.6371461206867 1 0 0 0
## 56.6649531914755 0 1 0 0
## 57.1632515536324 0 1 0 0
## 57.3260281794003 1 0 0 0
## 57.7171739939257 0 0 0 1
## 58.1642240175605 0 0 0 1
## 58.2295711020464 0 0 0 1
## 58.6189350631003 1 0 0 0
## 59.1587303703885 0 1 0 0
## 59.6285297365397 0 0 0 1
## 60.4230503485475 1 0 0 0
## 60.6640962956707 0 1 0 0
## 60.7757264109657 1 0 0 0
## 60.9202387070191 0 0 1 0
## 61.1422255390221 1 0 0 0
## 61.4549760142182 0 0 0 1
## 62.1382399175766 1 0 0 0
## 62.1588829623442 0 1 0 0
## 62.4046287035643 0 1 0 0
## 62.497461414671 0 0 1 0
## 62.5587853288609 0 0 0 1
## 62.7654972359352 1 0 0 0
## 62.8699723182504 0 0 1 0
## 62.9871028693754 0 1 0 0
## 63.3235059212255 0 0 0 1
## 64.1318415246005 0 0 0 1
## 64.2081354093821 0 1 0 0
## 64.9294864898249 0 0 0 1
## 65.0267222669671 0 0 1 0
## 65.1370511475564 1 0 0 0
## 65.1839396847285 0 0 0 1
## 65.2688009251982 0 0 0 1
## 65.3707539662701 0 0 0 1
## 66.4837358282349 0 0 1 0
## 66.5627818376042 0 0 0 1
## 66.6564645072949 0 0 1 0
## 66.7334125246375 1 0 0 0
## 67.0569383336867 0 0 0 1
## 67.1798061529065 1 0 0 0
## 67.3444907846368 0 1 0 0
## 67.5228895264196 0 0 1 0
## 67.6675483143141 0 0 1 0
## 68.0065889506429 0 0 0 1
## 68.4196031003851 0 1 0 0
## 68.5445790538628 1 0 0 0
## 69.0277604629267 0 0 0 1
## 69.3522498848947 1 0 0 0
## 69.4164165346972 1 0 0 0
## 69.6999067989608 0 1 0 0
## 69.8001727125591 0 1 0 0
## 70.2903899212997 1 0 0 0
## 70.3710295871135 0 0 1 0
## 70.8669797069123 0 1 0 0
## 71.2691243582441 0 0 0 1
## 71.5115909812078 0 1 0 0
## 71.7732295979633 0 1 0 0
## 71.7886327975458 0 1 0 0
## 71.8069696751607 0 0 0 1
## 72.1247004898298 0 0 1 0
## 72.3870514618799 0 0 1 0
## 72.6574763793192 0 0 1 0
## 73.137468450406 0 0 1 0
## 73.2023652317313 0 0 0 1
## 73.7207642443434 0 0 1 0
## 74.0922962474525 0 1 0 0
## 74.3167474904056 0 0 1 0
## 74.874351933557 0 0 0 1
## 75.197923302823 0 1 0 0
## 75.3972242991329 0 0 0 1
## 75.4597558283542 1 0 0 0
## 76.9581878376979 0 0 1 0
## 77.0347197456607 1 0 0 0
## 77.0401696712358 0 0 0 1
## 77.1789995878769 0 0 0 1
## 77.2196592048181 0 0 1 0
## 77.3925473157502 1 0 0 0
## 78.026464972301 0 0 1 0
## 78.1143971271962 0 1 0 0
## 78.23610750545 1 0 0 0
## 78.4557339881349 1 0 0 0
## 79.5555042758037 0 0 0 1
## 79.5802159881012 0 1 0 0
## 79.6397782015286 0 0 1 0
## 80.0461134871991 1 0 0 0
## 80.6152942310068 0 1 0 0
## 80.8454095531915 0 0 0 1
## 81.9098538808915 0 1 0 0
## 82.0550696732522 0 0 1 0
## 82.4092268973337 0 0 0 1
## 82.6542557113256 1 0 0 0
## 83.0822432090106 1 0 0 0
## 83.4814519266704 1 0 0 0
## 84.1552576315477 0 0 0 1
## 84.35059279939 0 0 1 0
## 84.3871756760646 0 1 0 0
## 84.8637145778003 0 0 0 1
## 85.1550123881507 1 0 0 0
## 85.1826917573696 1 0 0 0
## 87.3519728724861 0 0 1 0
## 87.948030847697 0 1 0 0
## 88.7747121051948 1 0 0 0
## 89.1904609476088 1 0 0 0
## 90.8852195882401 0 1 0 0
## 92.2608850094815 0 1 0 0
## 97.4986639441326 0 1 0 0
mod1a=lm(porc_germ~diam_med+bloque+acido+bloque:acido, datos_des)
mod1_res= Anova(mod1a, type = "II");mod1_res
## Anova Table (Type II tests)
##
## Response: porc_germ
## Sum Sq Df F value Pr(>F)
## diam_med 6.0 1 0.1574 0.6924
## bloque 1069.4 2 14.0706 4.013e-06 ***
## acido 151.8 3 1.3315 0.2683
## bloque:acido 235.4 6 1.0325 0.4087
## Residuals 3876.1 102
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Interacion:p_valor>5%: no se rechaza H_0, no hay interacción se puede analizar los factores #Bloque:no se analiza el p_valor, El H es de 14,07>1: si valio la pena realizar el bloqueo #Factor: acido: P_valor>5% No se rechaza H_0:los efectos son nulos en la respuesta #Factor respuesta promedio de semilla: p_valor>5%,No se rechaza H_0, no hay efecto en la variable respuesta
#regresion lineal simple
mod1a=lm(porc_germ~diam_med+bloque+acido+bloque:acido, datos_des)
mod1_res= Anova(mod1a, type = "II");mod1_res
## Anova Table (Type II tests)
##
## Response: porc_germ
## Sum Sq Df F value Pr(>F)
## diam_med 6.0 1 0.1574 0.6924
## bloque 1069.4 2 14.0706 4.013e-06 ***
## acido 151.8 3 1.3315 0.2683
## bloque:acido 235.4 6 1.0325 0.4087
## Residuals 3876.1 102
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(mod1a)
##
## Call:
## lm(formula = porc_germ ~ diam_med + bloque + acido + bloque:acido,
## data = datos_des)
##
## Residuals:
## Min 1Q Median 3Q Max
## -14.0216 -3.7536 0.0696 3.3394 15.2109
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 71.3474 27.5417 2.591 0.01099 *
## diam_med -1.0849 2.7344 -0.397 0.69238
## bloqueB1 10.9963 4.6895 2.345 0.02097 *
## bloqueB2 24.7773 7.3901 3.353 0.00112 **
## acidoC1 0.2479 3.0962 0.080 0.93634
## acidoC2 -2.1853 3.7048 -0.590 0.55659
## acidoC3 2.7606 4.2363 0.652 0.51608
## bloqueB1:acidoC1 1.5906 4.0109 0.397 0.69252
## bloqueB2:acidoC1 2.0787 4.0149 0.518 0.60575
## bloqueB1:acidoC2 3.0360 4.1292 0.735 0.46387
## bloqueB2:acidoC2 -2.4634 3.9571 -0.623 0.53498
## bloqueB1:acidoC3 -4.1091 4.0883 -1.005 0.31723
## bloqueB2:acidoC3 -5.5309 4.7004 -1.177 0.24205
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.164 on 102 degrees of freedom
## Multiple R-squared: 0.6845, Adjusted R-squared: 0.6474
## F-statistic: 18.44 on 12 and 102 DF, p-value: < 2.2e-16
#Rajustado:0,64, perfecto, hay una buena relación en la variable respuesta con la covariable: p_valor:>5% se rechaza H_0, no hay efectos en la variable respuesta se comienza a analizar los supuestos
scatterplot(porc_germ~diam_med|acido,regLine=TRUE,smooth=FALSE)
library(ggplot2)
ggplot(datos_des)+
aes(diam_med,porc_germ, col=acido)+
geom_point(aes(col=acido),
size=3)+
geom_smooth(aes(col=acido),
linewidth=2,
method = "lm",
formula="y~x",
se=F)+
geom_smooth(method = "lm",
formula="y~x",
se=F,
col="black")
shapiro.test(mod1a$residuals)# se cumple el supuesto de normalidad
##
## Shapiro-Wilk normality test
##
## data: mod1a$residuals
## W = 0.98915, p-value = 0.4933
bartlett.test(mod1a$residuals, datos_des$acido)# se cumple el supuesto de homocedasticidad
##
## Bartlett test of homogeneity of variances
##
## data: mod1a$residuals and datos_des$acido
## Bartlett's K-squared = 0.98488, df = 3, p-value = 0.8049
library(agricolae)
dt=duncan.test(mod1a,"acido", console=T)
##
## Study: mod1a ~ "acido"
##
## Duncan's new multiple range test
## for porc_germ
##
## Mean Square Error: 38.00091
##
## acido, means
##
## porc_germ std r Min Max
## C0 70.96384 10.879445 30 52.40963 89.19046
## C1 72.04659 11.862111 28 48.20030 97.49866
## C2 68.44023 10.119977 28 49.87984 87.35197
## C3 69.07068 8.561033 29 53.83582 84.86371
##
## Groups according to probability of means differences and alpha level( 0.05 )
##
## Means with the same letter are not significantly different.
##
## porc_germ groups
## C1 72.04659 a
## C0 70.96384 ab
## C3 69.07068 ab
## C2 68.44023 b
plot(dt)