Bonjour à tous

J'ai programmé une boucle if assez grosse (enfin je crois )
Elle fonctionne, c'est déjà ça.

Le problème c'est que le premier {statements} comprend non pas une seule action mais une suite d'actions : une anova, suivie d'un Tuckey, et enfin l'affichage des résultats avec un barplot...

Quand la boucle se termine, le barplot est réalisé (c'est la dernière action) mais le résultat des tests précédents ne s'affiche pas! Et je voudrais que l'affichage de leur output fasse partie du {statement}

Comment faire?

Merci d'avance et bonne aprem

edit1 : je vous met le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
##script pour analyse pré-ANOVA
#penser à assigner à 'mdb' la variable étudiée (ex: P_ESCA: % de pieds notés esca)
 
modele<-aov(mdb~CLONE)
residus<-residuals(modele)
hist(residus,c="grey",main="Histogramme des résidus",ylab="Fréquence",xlab="valeurs des résidus")
 
#test de la normalité des résidus :
shapiro.test(residus)
 
#test d'homogénéité des variances : 
bartlett.test(residus~CLONE)
p.value<-bartlett.test(residus~CLONE)$p.value
 
##anova ou kruskal:
 
if (p.value>0.05) {
 
	anova(modele)
 
##analyse post-hoc :
	TukeyHSD(modele)
	TukeyHSDs(TukeyHSD(modele))
#plot(TukeyHSD(modele),las=1)
 
 
##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 = "Sensibilité aux maladies du bois", 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)
 
# test de comparaison multiple non paramétrique
 
	kruskalmc(mdb,CLONE,probs=0.05,cont=NULL)
}
Edit2: visiblement il n'existe pas de test de newman keuls sous R...je suis à la recherche du package secret où il se cache...

Bonne journée