1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| ##script pour analyse pré-ANOVA
tec<-read.csv2('monfichier.csv', header=T)
layout(matrix(1:8,2,4))
myfun<-function(mdb)
{
data<-mdb
#Normalisation de la variable étudiée
#mdb<-asin(sqrt(mdb/100))
modele<-aov(mdb~CLONE)
residus<-residuals(modele)
hist(residus,c="grey",main=paste("Histogramme des résidus",names(reg)[3]),ylab="Fréquence",xlab="valeurs des résidus")
#test de la normalité des résidus :
shapiro.test(residus)
print(shapiro.test(residus))
#test d'homogénéité des variances :
bartlett.test(residus~CLONE)
print(bartlett.test(residus~CLONE))
p.value<-bartlett.test(residus~CLONE)$p.value
##anova ou kruskal:
if (p.value>0.05) {
anova(modele)
print(anova(modele))
##analyse post-hoc :
#TukeyHSD(modele)
#TukeyHSDs(TukeyHSD(modele))
#print(TukeyHSD(modele))
#print(TukeyHSDs(TukeyHSD(modele)))
print(SNK.test(modele,"CLONE",group=F))
print(SNK.test(modele,"CLONE",group=T))
##script pour graphique de comparaison des moyennes de chaque clone sur le regroupement d'années, pour une maladie mdb:
par(las=1,col.axis="royalblue")
moyennes<-tapply(mdb,CLONE,mean)
ecartypes<-tapply(mdb,CLONE,sd)
n<-tapply(mdb,CLONE,length)
mybarcol <- "gray20"
mp <- barplot(moyennes, beside = TRUE,
col = c("lightblue","mistyrose","lightcyan","lavender","lightgreen","salmon","slateblue","seagreen","tomato1","yellow2","violetred3","orange3","gray47"),
ylim= c(0,15),
xlab="Clone",
ylab="Pourcentage moyen de pieds touchés",
main = paste("Sensibilité à la maladie",names(reg)[3]), font.main = 1,
sub = "barres d'erreur = +/- 2 S.E", col.sub = mybarcol,cex.names = 1.5,xpd=F)
segments(mp, moyennes - 2*ecartypes/sqrt(n), mp, moyennes +
2*ecartypes/sqrt(n), col = mybarcol, lwd = 1.5)
mtext(side = 1, at = (mp), line = 2,
text = paste(formatC(moyennes),"+/-",round(2*ecartypes/sqrt(n),digits=2)), col = "grey",cex=0.5)
}else{
##script pour analyse des variables non paramétriques, pas d'anova possible
#Test de Kruskal-Wallis : rangs significativement différents?
kruskal.test(mdb~CLONE)
print(kruskal.test(mdb~CLONE))
# test de comparaison multiple non paramétrique
kruskalmc(mdb,CLONE,probs=0.05,cont=NULL)
print(kruskalmc(mdb,CLONE,probs=0.05,cont=NULL))
}
}
mdb<-P_ESCA
myfun(mdb)
mdb<-P_BDA
myfun(mdb)
mdb<-P_ESCA_BDA
myfun(mdb)
mdb<-P_EUTY
myfun(mdb) |
Partager