utilisation de la fonction friedman.test

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Mustapha ELYAKHLIFI
Messages : 8
Enregistré le : 04 Aoû 2008, 14:14

utilisation de la fonction friedman.test

Messagepar Mustapha ELYAKHLIFI » 16 Sep 2008, 09:51

bonjour à tous

j'ai des problèmes d'utilisation de la fonction friedman.test
il me renvoie erreur me disant que mes données ne sont pas appariées
pourtant elles le sont.
je reçois ce type d'erreur

> friedman.test(méthode ~ jours9, data = don4)
Erreur dans friedman.test.formula(méthode ~ jours9, data = don4) :
incorrect specification for 'formula'

mes données ont 2 modalité de métodes et jours9 est la variable dépendante.
Pouvez-vous m'aider svp.

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 16 Sep 2008, 10:10

Bonjour,

Je crois que votre test est mal spécifié. Si vous voulez utiliser la méthode formula il faut quelque chose de la forme a~b|c. voir l'aide de la fonction friedman.test (commande : ?friedman.test)
Si vous n'avez pas d'équivalent à a, b et c alors il vous faut utiliser la métode plus classique qui est aussi spécifiée dans l'aide

Ensuite, si jour9 est votre variable dépendante, il faudra de toute façon faire l'inverse de ce que vous avez fait. Si j'ai bien compris, "méthode" représente vos groupes.

Enfin, si cela n'a pas changé dans les dernières version, R digère mal les accents, donc ne pas utiliser "méthode" mais "methode" comme nom de colonne.

Dernier conseil, bien lire l'aide associée aux fonction, lire de la documentation de base sur R et enfin les messages d'erreurs doivent être pris au premier degré : votre message ne dit pas que vos données ne sont pas appariés, R est incapable d'en juger, mais vous dit simplement que la formule que vous avez rentré (le "~", indique toujours qu'on utilise une formule) comporte des erreurs.

Bon courage

Nicolas.

Mustapha ELYAKHLIFI
Messages : 8
Enregistré le : 04 Aoû 2008, 14:14

Messagepar Mustapha ELYAKHLIFI » 16 Sep 2008, 10:45

oui c'est ce que j'ai fait depuis ce matin je suis sur cette fonction j'ai regardé l'aide en ligne mais il semblerai qu'il faille que j'ordonne autrement mes données. pour un laboratoire donné j'ai:

> don4
laboratoire methode niveau jours5 jours7 jours9
1 1 A 1 3.50 6.50 11.00
2 1 A 2 8.75 16.00 20.00
3 1 A 3 0.00 0.00 0.00
4 1 A 2 9.00 15.25 19.00
5 1 A 3 0.00 0.00 0.00
6 1 A 1 3.50 7.00 12.75
7 1 A 3 0.00 0.00 0.00
8 1 A 2 4.50 12.50 22.00
9 1 A 1 2.75 7.25 9.75
10 1 B 1 5.00 16.25 25.25
11 1 B 2 6.75 19.00 32.00
12 1 B 3 0.00 0.00 0.00
13 1 B 1 1.75 12.75 23.75
14 1 B 2 3.25 22.00 34.75
15 1 B 3 0.00 0.00 0.00
16 1 B 3 0.00 0.00 0.00
17 1 B 1 1.50 16.75 20.75
18 1 B 2 4.50 14.25 33.25

Je pense que la fonction friedman.test réagit mal à l'ordre de mon tableau. Quand je sélectionne seulement peu de données en les ordonnant comme dans l'exemple de wb j'obtiens un résultat. malheureusement ce n'est surement pas le résultat que j'attendais

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 16 Sep 2008, 11:50

Non l'ordre du tableau ne change rien. Vous avez un data.frame c'est à dire une liste d'éléments qui sont indépendants les uns des autres à ceci prêt qu'ils sont dans le même objet don4.

Ceci dit vu votre jeu de donnée il me semble (examen rapide) que votre plan d'expérience n'est pas complet ce qui je crois est necessaire à la fonction friedman.test : à vérifier.

En modifiant rapidement les données et en prenant une partie du tableau pour avoir un, je cite, "unreplicated complete block design"


Code : Tout sélectionner

don4$laboratoire[4:6]<-2
don4$laboratoire[10:12]<-2

Code : Tout sélectionner

 laboratoire methode niveau jours5 jours7 jours9
1            1       A      1   3.50   6.50  11.00
2            1       A      2   8.75  16.00  20.00
3            1       A      3   0.00   0.00   0.00
4            2       A      2   9.00  15.25  19.00
5            2       A      3   0.00   0.00   0.00
6            2       A      1   3.50   7.00  12.75
7            1       A      3   0.00   0.00   0.00
8            1       A      2   4.50  12.50  22.00
9            1       A      1   2.75   7.25   9.75
10           2       B      1   5.00  16.25  25.25
11           2       B      2   6.75  19.00  32.00
12           2       B      3   0.00   0.00   0.00
13           1       B      1   1.75  12.75  23.75
14           1       B      2   3.25  22.00  34.75
15           1       B      3   0.00   0.00   0.00
16           1       B      3   0.00   0.00   0.00
17           1       B      1   1.50  16.75  20.75
18           1       B      2   4.50  14.25  33.25


Code : Tout sélectionner

friedman.test(jours9~niveau|laboratoire,data=don4[c(1:3,10:12),])

        Friedman rank sum test

data:  jours9 and niveau and laboratoire
Friedman chi-squared = 4, df = 2, p-value = 0.1353


Code : Tout sélectionner

friedman.test(jours9~niveau|methode,data=don4[c(1:3,10:12),])

        Friedman rank sum test

data:  jours9 and niveau and methode
Friedman chi-squared = 4, df = 2, p-value = 0.1353



Nicolas

malheureusement ce n'est surement pas le résultat que j'attendais


A éviter comme formulation...les stats donnent un résultat c'est tout mais ne sont pas faites pour donner ce que l'on attend ;)

Mustapha ELYAKHLIFI
Messages : 8
Enregistré le : 04 Aoû 2008, 14:14

Messagepar Mustapha ELYAKHLIFI » 17 Sep 2008, 10:17

j'ai fini par comprendre le test de Friedman ne s'effectue que sur les moyennes par modalité.
Merci quand même.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité