Datos

set.seed(2002)
area_dh <- c(rnorm(40,1,0.2),
             rnorm(40,1.5,0.3),
             rnorm(40,4,0.25)) # centimetros^2

dosis_i <- gl(3,40,120, c("D0","D2","D5")) # Dosis control / Dosis baja / Dosis alta de inóculo (hongo)

df <- data.frame(area_dh,dosis_i)
head(df)
##     area_dh dosis_i
## 1 0.9786818      D0
## 2 1.3228890      D0
## 3 1.2776526      D0
## 4 1.1405556      D0
## 5 1.4515000      D0
## 6 0.9607001      D0
boxplot(area_dh ~ dosis_i, data = df,
        col = c("#CAE1FF", "#BCD2EE", "#A2B5CD"),
        xlab = "Dosis del inóculo",
        ylab = "Área de daño")

* Causa - efecto: Mayor dosis del inóculo, mayor área dañada.

  • Medias muy parecidas entre D0 y D2

ANOVA (Método 1)

  • El efecto de la dosis es 0.

\[H_0: \tau_0 = \tau_2 = \tau_5 = 0 \\ H_a: Si~hay~efecto~de~la~dosis\]

aov_mpara = aov(area_dh ~ dosis_i, data = df) # Área de daño (variable respuesta) en función de la dosis del inóculo
summary(aov_mpara)
##              Df Sum Sq Mean Sq F value Pr(>F)    
## dosis_i       2 211.89  105.94    1594 <2e-16 ***
## Residuals   117   7.78    0.07                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  • \(Pvalor <0.05\) -> Rechazo la hipotesis nula -> hay efecto de las dosis
media_d <- tapply(area_dh, dosis_i, FUN = mean)
media_d
##        D0        D2        D5 
## 0.9956956 1.4733646 4.0228301
media_global <- mean(media_d)
media_global
## [1] 2.163963

Efectos

efectos <-media_d-media_global
efectos
##         D0         D2         D5 
## -1.1682678 -0.6905988  1.8588666
  • Efecto 0 -> igual a la media global

  • Efecto de D5 positivo -> área de daño de D5 muy grande respecto a la media global

  • Efecto de D0 negativo -> por debajo de la media global -> daño menos -> bueno

  • Efecto de D2 negativo -> por debajo de la media global

  • ¿Qué nos interesa? Área de daño pequeña, estar por debajo de la media

Prueba de comparación de medias de Tukey

TukeyHSD(aov_mpara)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = area_dh ~ dosis_i, data = df)
## 
## $dosis_i
##           diff       lwr       upr p adj
## D2-D0 0.477669 0.3408051 0.6145328     0
## D5-D0 3.027134 2.8902706 3.1639983     0
## D5-D2 2.549465 2.4126017 2.6863293     0
  • Comparacion de pares: D2-D0, D5-D0, D5-D2

  • p adj = probabilidad ajustada, p-valor que cuando es menos que el 5% rechaza la igualdad

par(las=1) # Horizontal writing of labels.
plot(TukeyHSD(aov_mpara))

Prueba de comparación de medias de Duncan

dtt<-duncan.test(aov_mpara,"dosis_i", group=TRUE,console=TRUE,main="dosis_i")
## 
## Study: dosis_i
## 
## Duncan's new multiple range test
## for area_dh 
## 
## Mean Square Error:  0.06647806 
## 
## dosis_i,  means
## 
##      area_dh       std  r       Min      Max
## D0 0.9956956 0.2103224 40 0.5032344 1.468125
## D2 1.4733646 0.3122326 40 0.7258436 2.113421
## D5 4.0228301 0.2402280 40 3.5046680 4.627105
## 
## Alpha: 0.05 ; DF Error: 117 
## 
## Critical Range
##         2         3 
## 0.1141793 0.1201671 
## 
## Means with the same letter are not significantly different.
## 
##      area_dh groups
## D5 4.0228301      a
## D2 1.4733646      b
## D0 0.9956956      c
dtt
## $statistics
##      MSerror  Df     Mean       CV
##   0.06647806 117 2.163963 11.91487
## 
## $parameters
##     test  name.t ntr alpha
##   Duncan dosis_i   3  0.05
## 
## $duncan
##      Table CriticalRange
## 2 2.800776     0.1141793
## 3 2.947653     0.1201671
## 
## $means
##      area_dh       std  r       Min      Max       Q25       Q50      Q75
## D0 0.9956956 0.2103224 40 0.5032344 1.468125 0.8670405 0.9784721 1.112136
## D2 1.4733646 0.3122326 40 0.7258436 2.113421 1.3260786 1.4635046 1.676952
## D5 4.0228301 0.2402280 40 3.5046680 4.627105 3.8701394 3.9975565 4.137719
## 
## $comparison
## NULL
## 
## $groups
##      area_dh groups
## D5 4.0228301      a
## D2 1.4733646      b
## D0 0.9956956      c
## 
## attr(,"class")
## [1] "group"
plot(dtt, variation="IQR" )

data(sweetpotato)
model <- aov(yield~virus, data=sweetpotato)
out <- duncan.test(model, "virus", 
                   main = "yield of sweetpotato, Dealt with different virus")
plot(out, variation="IQR" )

duncan.test(model,"virus", alpha = 0,01, console = TRUE)
## 
## Study: model ~ "virus"
## 
## Duncan's new multiple range test
## for yield 
## 
## Mean Square Error:  22.48917 
## 
## virus,  means
## 
##       yield      std r  Min  Max
## cc 24.40000 3.609709 3 21.7 28.5
## fc 12.86667 2.159475 3 10.6 14.9
## ff 36.33333 7.333030 3 28.0 41.8
## oo 36.90000 4.300000 3 32.1 40.4
## 
## Alpha: 0 ; DF Error: 8 
## 
## Critical Range
##   2   3   4 
## Inf Inf Inf 
## 
## Means with the same letter are not significantly different.
## 
##       yield groups
## oo 36.90000      a
## ff 36.33333      a
## cc 24.40000      a
## fc 12.86667      a
  • Misma letra -> no diferencias

Método de Kruskal Wallis (Método no paramétrico)

kruskal.test(area_dh, dosis_i)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  area_dh and dosis_i
## Kruskal-Wallis chi-squared = 96.37, df = 2, p-value < 2.2e-16
  • se rechaza la hipótesis nula de igualdad

Prueba de Nemenyi

PMCMRplus::kwAllPairsNemenyiTest(area_dh, dosis_i)
## 
##  Pairwise comparisons using Tukey-Kramer-Nemenyi all-pairs test with Tukey-Dist approximation
## data: area_dh and dosis_i
##    D0      D2     
## D2 0.00011 -      
## D5 3.2e-14 4.8e-08
## 
## P value adjustment method: single-step
## alternative hypothesis: two.sided