Bonjour,
mes données sont non normales alors j'ai réalisé un test de kruskal wallis et un test de wilcoxon.
Dans la réponse de mon test de wilcoxon j'ai des warnings car il y a des ex-aequos, comme ceci:
En effet, certaines données sont identiques mais ce n'est pas une erreur ce sont les mesures reelles ce qui signifie pour moi qu'il n'y a pas de dfiférence significative entre mes groupes qui ont les mêmes valeurs sauf que dans la réponse pour ces ex-aequos R fourni des NaN au lieu des p-values quand j'appelle mes p-value comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 > fi5$condition <- interaction(fi5$var, fi5$temp, sep="_") > P = pairwise.wilcox.test(x = fi5$glc, g = fi5$condition) There were 49 warnings (use warnings() to see them) > warnings() Messages d'avis : 1: In wilcox.test.default(xi, xj, paired = paired, ...) : impossible de calculer la p-value exacte avec des ex-aequos 2: In wilcox.test.default(xi, xj, paired = paired, ...) : impossible de calculer la p-value exacte avec des ex-aequos
voici un exemple de mon tableau réponse triangulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 PT = P$p.value PT
j'utilise la fonction suivante que j'ai trouvé sur internet pour convertir en tableau rectangulaires:Agria_4 Kiebitz_4 Lady Claire_4 Markies_4 Pirol_4 Verdi_4 Agria_8 Kiebitz_8
Pirol_8 0.4721823 0.7610958 1.0000000 0.4721823 0.4721823 0.4721823 0.7610958 NaN
Verdi_8 0.4721823 0.7610958 1.0000000 0.4721823 0.4721823 0.4721823 0.7610958 NaN
et ensuite j'utilise ceci pour extraire les lettres pour faire mon graphique:
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 fullPTable = function(PT) { PTa <- rep(c(NA_real_),length(PT[,1])) # Add a row PT1 <- rbind(PTa, PT) rownames(PT1)[1] <- colnames(PT1)[1] PTb <- rep(c(NA_real_),length(PT1[,1])) # Add a column PT1 <- cbind(PT1, PTb) n <- length(PT1[,1]) colnames(PT1)[n] <- rownames(PT1)[n] PT2 = t(PT1) # Create new transposed PT2[lower.tri(PT2)] = PT1[lower.tri(PT1)] diag(PT2) = signif(1.00, digits = 4) # Set the diagonal PT2 } PT1 = fullPTable(PT) PT1
sauf que j'ai le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 library(multcompView) multcompLetters(PT1, compare = "<", threshold = 0.05, Letters = c(letters, LETTERS, "."), reversed = FALSE)et c'est à cause des ex-aequosError in if (k2 == 0) { : missing value where TRUE/FALSE needed
est-ce qu'il y a un moyen / code d'avoir mes lettres pour mon graphiques? par exemple en attribuant la même lettre aux ex-aequos puisqu'ils ne sont pas différents?
Merci par avance.
Cordialement.
Partager