> atro<-c(10.5,.8,.7,.7,.3,.7,.3) > comb<-c(16,5.9,11.5,4.4,17.7,13.5,60,2.3) > spi<-c(35.8,10.5,10.5,5.2,20.9,44.2,19.6,20.7) > boxplot(atro,comb,spi) > > #viendo el boxplot parece no cumplirse la homogeneidad de varianzas > > grupo<-c(rep(1,7),rep(2,8),rep(3,8)) > grupo [1] 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 > > y<-c(atro,comb,spi) > y [1] 10.5 0.8 0.7 0.7 0.3 0.7 0.3 16.0 5.9 11.5 4.4 17.7 13.5 60.0 2.3 35.8 10.5 10.5 [19] 5.2 20.9 44.2 19.6 20.7 > anova<-aov(y~factor(grupo)) > summary(anova) Df Sum Sq Mean Sq F value Pr(>F) factor(grupo) 2 1434.4 717.22 3.8745 0.03783 * Residuals 20 3702.3 185.11 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > > #Ojo, ver que pasa si no se pone factor!!! Funciona mal! > > #armamos el vector de residuos > atrores<-atro-mean(atro) > combres<-comb-mean(comb) > spires<-spi-mean(spi) > res<-c(atrores,combres,spires) > shapiro.test(res) Shapiro-Wilk normality test data: res W = 0.79, p-value = 0.0002662 > #Se rechaza normalidad > > logatro<-log(atro,10) > logcomb<-log(comb,10) > logspi<-log(spi,10) > > boxplot(logatro,logcomb,logspi) > > ynuevo<-c(logatro,logcomb,logspi) > anova2<-aov(ynuevo~factor(grupo)) > summary(anova2) Df Sum Sq Mean Sq F value Pr(>F) factor(grupo) 2 7.3544 3.6772 20.535 1.419e-05 *** Residuals 20 3.5814 0.1791 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > #Se seguiría rechazando la hipótesis de igualdad de medias ahora con valores de significación aún más pequeños > > #ahora chequesmos normalidad de las muestras transformadas: > logatrores<-logatro-mean(logatro) > logcombres<-logcomb-mean(logcomb) > logspires<-logspi-mean(logspi) > logres<-c(logatrores,logcombres,logspires) > shapiro.test(logres) Shapiro-Wilk normality test data: logres W = 0.9437, p-value = 0.2160 > #Ahora no se rechaza la hipótesis de normalidad con un nivel de significación alfa=0,2 > #Habría que también probar de hacer un test de igualdad de varianzas. > #aplicamos el test de Levene: > desv<-c(abs(logatro-median(logatro)),abs(logcomb-median(logcomb)),abs(logspi-median(logspi))) > levene<-aov(desv~factor(grupo)) > summary(levene) Df Sum Sq Mean Sq F value Pr(>F) factor(grupo) 2 0.03486 0.017428 0.1792 0.8373 Residuals 20 1.94557 0.097279 > #da un p-valor alto (.7977) mayor al nivel de significación que elijamos. Por lo tanto no se puede rechazar la hipótesis de igualdad de varianzas y se puede hacer Anova > > anova(lm(ynuevo~factor(grupo))) Analysis of Variance Table Response: ynuevo Df Sum Sq Mean Sq F value Pr(>F) factor(grupo) 2 7.3544 3.6772 20.535 1.419e-05 *** Residuals 20 3.5814 0.1791 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > > bonfe<-pairwise.t.test(ynuevo,factor(grupo),p.adj="bonf") > bonfe Pairwise comparisons using t tests with pooled SD data: ynuevo and factor(grupo) 1 2 2 0.00018 - 3 2.1e-05 0.99105 P value adjustment method: bonferroni > #Comparar los p-valores de la tabla obtenida con el nivel de los test t simultáneos (que es alfa/m donde m es la cantidad de comparaciones)) > #Y decidir que grupos quedan diferenciados > tukint=TukeyHSD(anova2,conf.level = 0.95) > tukint Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = ynuevo ~ factor(grupo)) $`factor(grupo)` diff lwr upr p adj 2-1 1.1084042 0.5543120 1.6624963 0.0001697 3-1 1.3194981 0.7654059 1.8735902 0.0000197 3-2 0.2110939 -0.3242100 0.7463978 0.5867694 > #comparar con los intervalos de tukey > #¿cuales son más cortos si se hace a nivel alfa=.05? > #comparamos los valors: > qtukey(.95,3,20)/sqrt(2) [1] 2.529982 > qt(1-.05/(2*3),20) [1] 2.612585 > #Son más cortos los intervalos de Tukey >