##FSCA DESBALANCEADO #ANALISIS DE VARIANZA DESBALANCEADO

set.seed(123)
#respuesta
porc_germ=c(
  rnorm(40,60,6),
  rnorm(40,70,7),
  rnorm(40,80,8)
  
)
#factor
acido=gl(3,40,120,c("c0","c1","c2"))

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_des=datos[-c(50,111,120), ]
table(datos_des$acido)
## 
## c0 c1 c2 
## 40 39 38
#se toma como variable respuesta el porcentaje de germinacion con un total de 120 datos y un solo factor que es el acido (c0, c1 y c2), luego se eliminan 3 datos para que quede el diseño desbalanceado

diseño desbalanceado Hipotesis \[H0: \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
#se realiza un analisis de varianza "aov" con los datos balanceados, y dado que el p-value <5%, entonces se rechaza hipotesis
boxplot(datos$porc_germ~datos$acido)

#se realiza un analisis descriptivo con los datos balanceados

##analisis de varianza balanceado (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
#se realiza un analisis de varianza "aov" como si el diseño fuera balanceado pero con los datos desbalanceados y los datos nos dan muy similares, porque tenemos un solo factor y no nos afecta el analisis aov
mod3=lm(porc_germ~acido,datos_des)
library(car)
## Loading required package: carData
mod3_res=Anova(mod3, type="II")
mod3_res
## 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
#ahora corremos el analisis de varianza con "lm" Anova type="II", el cual es el aconsejado para correr en un diseño desbalanceado y de igual forma se rechaza la hipotesis

###CON BLOQUES

set.seed(123)
porc_germ=c(
  rnorm(40,60,6),
  rnorm(40,70,7),
  rnorm(40,80,8)
  
)

bloq=gl(3,40,120,c("B0","B1","B2"))
acido=gl(4,10,120,c("C0","C1","C2","C3"))

datos=data.frame(acido,bloq, porc_germ)
datos_des=datos[-sample(120,5), ]
datos_des
##     acido bloq 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$bloq,datos_des$acido)
##     
##      C0 C1 C2 C3
##   B0 10  8 10  9
##   B1 10 10 10 10
##   B2  9 10 10  9
#en este caso se tomaron los mismos datos en la variable respuesta (porcentaje de germinacion), en el factor el acido (c0, c1, c2 y c3) y ademas, se agregó bloques (b0, b1 y b2). luego se eliminaron 5 datos para que quedara el diseño desbalanceado
mod1=aov(porc_germ~bloq*acido,
         datos_des)
summary(mod1)
##              Df Sum Sq Mean Sq F value Pr(>F)    
## bloq          2   7478    3739  97.858 <2e-16 ***
## acido         3    238      79   2.073  0.108    
## bloq:acido    6    276      46   1.203  0.311    
## Residuals   103   3936      38                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#se realiza el analisis de varianza con "aov"
mod2=lm(porc_germ~bloq*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)    
## bloq       7399.0   2 96.8208 <2e-16 ***
## acido       237.7   3  2.0734 0.1083    
## bloq:acido  275.8   6  1.2030 0.3108    
## Residuals  3935.6 103                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#luego se realiza el analisis con "lm" Anova type="II", el cual es el aconsejable para diseños desbalanceados

###ajustando desbalanceo con diferente orden

mod3=lm(porc_germ~bloq+acido+bloq:acido,
        datos_des)
Anova(mod3, type="II")
## Anova Table (Type II tests)
## 
## Response: porc_germ
##            Sum Sq  Df F value Pr(>F)    
## bloq       7399.0   2 96.8208 <2e-16 ***
## acido       237.7   3  2.0734 0.1083    
## bloq:acido  275.8   6  1.2030 0.3108    
## Residuals  3935.6 103                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod3=lm(porc_germ~acido+bloq+bloq:acido,
        datos_des)
Anova(mod3, type="II")
## Anova Table (Type II tests)
## 
## Response: porc_germ
##            Sum Sq  Df F value Pr(>F)    
## acido       237.7   3  2.0734 0.1083    
## bloq       7399.0   2 96.8208 <2e-16 ***
## acido:bloq  275.8   6  1.2030 0.3108    
## Residuals  3935.6 103                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod3=lm(porc_germ~bloq:acido+acido+bloq,
        datos_des)
Anova(mod3, type="II")
## Anova Table (Type II tests)
## 
## Response: porc_germ
##            Sum Sq  Df F value Pr(>F)    
## acido       237.7   3  2.0734 0.1083    
## bloq       7399.0   2 96.8208 <2e-16 ***
## bloq:acido  275.8   6  1.2030 0.3108    
## Residuals  3935.6 103                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod3=lm(porc_germ~bloq:acido+bloq+acido,
        datos_des)
Anova(mod3, type="II")
## Anova Table (Type II tests)
## 
## Response: porc_germ
##            Sum Sq  Df F value Pr(>F)    
## bloq       7399.0   2 96.8208 <2e-16 ***
## acido       237.7   3  2.0734 0.1083    
## bloq: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", no importa el orden, los resultados son los mismos
#ANOVA for unbalanced data: Use type II instead of type III sums of squares

##CON COVARIABLE #FSBCGA-D Diseño factorial simple en bloques completos generalizados y al azar, desbalanceado y con la tecnica analisis de covarianza

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))

bloq=gl(3,40,120,c("B0","B1","B2"))
acido=gl(4,10,120,c("C0","C1","C2","C3"))


datos=data.frame(acido,bloq, porc_germ, diam_med)
datos_des=datos
datos_des[sample(120,5),"porc_germ" ]=NA
datos_des
##     acido bloq 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
## 16     C1   B0        NA 10.575205
## 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
## 22     C2   B0        NA 10.749586
## 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
## 69     C2   B1        NA 12.077675
## 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
## 74     C3   B1        NA 12.152941
## 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
## 94     C1   B2        NA 12.894292
## 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
table(datos_des$bloq,datos_des$acido)
##     
##      C0 C1 C2 C3
##   B0 10 10 10 10
##   B1 10 10 10 10
##   B2 10 10 10 10
#en este caso se toman los mismos datos pero con una covariable que es el diametro medio y tambien se eliminan 5 datos en el porcentaje de germinacion, poniendo en los espacios vacios "NA"
mod3=lm(porc_germ~diam_med+bloq+acido+bloq:acido,
        datos_des)
Anova(mod3, type="II")
## Anova Table (Type II tests)
## 
## Response: porc_germ
##            Sum Sq  Df F value    Pr(>F)    
## diam_med      6.0   1  0.1574    0.6924    
## bloq       1069.4   2 14.0706 4.013e-06 ***
## acido       151.8   3  1.3315    0.2683    
## bloq:acido  235.4   6  1.0325    0.4087    
## Residuals  3876.1 102                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#se corre el analisis de varianza
tapply(datos_des$porc_germ,
       datos_des$acido,
       mean, na.rm=TRUE)
##       C0       C1       C2       C3 
## 70.96384 72.04659 68.44023 69.07068
#en este caso se hallan las medias de porcentaje de germinacion para cada acido sin tener en cuenta los "NA"
mod4=lm(porc_germ~acido+diam_med, datos_des)
summary(mod4)
## 
## Call:
## lm(formula = porc_germ ~ acido + diam_med, data = datos_des)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -20.1993  -3.9414  -0.5862   4.8609  17.0401 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -3.7614     6.3136  -0.596    0.553    
## acidoC1      -1.1529     1.8128  -0.636    0.526    
## acidoC2      -7.9475     1.8584  -4.276 4.06e-05 ***
## acidoC3     -11.0204     1.9405  -5.679 1.12e-07 ***
## diam_med      6.5864     0.5454  12.076  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.863 on 110 degrees of freedom
##   (5 observations deleted due to missingness)
## Multiple R-squared:  0.5783, Adjusted R-squared:  0.5629 
## F-statistic: 37.71 on 4 and 110 DF,  p-value: < 2.2e-16
#por ultimo se corre el analisis de covarianza