Formules Friedman+Wilcoxon post-hoc

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

Ramseyer Amandine
Messages : 4
Enregistré le : 22 Sep 2008, 12:49

Formules Friedman+Wilcoxon post-hoc

Messagepar Ramseyer Amandine » 22 Sep 2008, 14:59

Bonjour,

J'aimerais faire un friedman avec R, mais je n'obtiens que des erreurs dans la formule que j'utilise. J'ai bien lu l'aide, mais je n'arrive pas à corriger ce que j'écris.
Dans le tableau suivant, je veux comparer les variables amas1, amas2 et amas34 les unes contre les autres (soit 3 comparaisons, suivies si besoin d'un Wilcoxon post-hoc):

ind amas1 amas2 amas34
1 A 12.50 2.00 3.0
2 B 1.00 4.50 6.0
3 C 7.57 2.33 1.0
4 D 8.88 4.67 3.0
5 G 7.75 1.50 3.4
6 H 5.50 7.50 2.0
7 I 1.00 5.00 2.0
8 K 10.50 2.50 2.5
9 L 10.50 6.00 7.0
10 M 11.10 7.33 3.5
11 Q 5.00 2.50 1.0
12 S 14.75 10.50 3.0

J'ai essayé de nombreuses formulations comme celle-ci:
"friedman.test(ind~amas1$amas2|amas2$amas34,data=TablFriedman)"
Mais finalement je pense que je n'ai pas compris ce que signifiaient les lettres y~A|B...

Pouvez-vous me donner une formule pour faire un Friedman suivi ensuite par un Wilcoxon ? (faut-il un package spécial ?!)

Merci beaucoup pour votre aide !

Cordialement
Amandine RAMSEYER
PhD Student in Ethology
IPHC DEPE, UMR 7178 CNRS-ULP
Strasbourg, France

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

Messagepar Nicolas Péru » 22 Sep 2008, 15:19

si j'ai bien compris l'allure des données ça doit donner ça :

Code : Tout sélectionner

friedman.test(TablFriedman[,2:4])

Ramseyer Amandine
Messages : 4
Enregistré le : 22 Sep 2008, 12:49

Messagepar Ramseyer Amandine » 22 Sep 2008, 15:26

J'imagine que le 2 et 4 représentent la colonne 2 jusqu'à la colonne 4.
Mais voici ce que j'obtiens de R:

Erreur dans friedman.test.default(TablFriedman[2:4]) :
l'argument "groups" est manquant, avec aucune valeur par défaut

La question est: quel est ce "groups" ???
Amandine RAMSEYER

PhD Student in Ethology

IPHC DEPE, UMR 7178 CNRS-ULP

Strasbourg, France

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 22 Sep 2008, 16:06

Bonjour,

?friedman.test :
Usage
friedman.test(y, ...)

## Default S3 method:
friedman.test(y, groups, blocks, ...)

## S3 method for class 'formula':
friedman.test(formula, data, subset, na.action, ...)

Arguments
y either a numeric vector of data values, or a data matrix.
groups a vector giving the group for the corresponding elements of y if this is a vector; ignored if y is a matrix. If not a factor object, it is coerced to one.
blocks a vector giving the block for the corresponding elements of y if this is a vector; ignored if y is a matrix. If not a factor object, it is coerced to one.
formula a formula of the form a ~ b | c, where a, b and c give the data values and corresponding groups and blocks, respectively.
data an optional matrix or data frame (or similar: see model.frame) containing the variables in the formula formula. By default the variables are taken from environment(formula).
subset an optional vector specifying a subset of observations to be used.
na.action a function which indicates what should happen when the data contain NAs. Defaults to getOption("na.action").
... further arguments to be passed to or from methods.


Si ton premier argument n'est pas un vecteur ni une formule alors il se doit d'être une matrice :

Code : Tout sélectionner

test <- as.data.frame(matrix(rpois(36,4),12))
friedman.test(y=test)
Erreur dans friedman.test.default(y = test2) :
  l'argument "groups" est manquant, avec aucune valeur par défaut
friedman.test(y=as.matrix(test))

        Friedman rank sum test

data:  as.matrix(test)
Friedman chi-squared = 4.8, df = 2, p-value = 0.09072


Dans ton cas il te faut donc utiliser : friedman.test(y=as.matrix(TablFriedman[,2:4]))

Maxime

Ramseyer Amandine
Messages : 4
Enregistré le : 22 Sep 2008, 12:49

Messagepar Ramseyer Amandine » 22 Sep 2008, 17:35

Merci beaucoup je vais essayer...!
Amandine RAMSEYER

PhD Student in Ethology

IPHC DEPE, UMR 7178 CNRS-ULP

Strasbourg, France

Ramseyer Amandine
Messages : 4
Enregistré le : 22 Sep 2008, 12:49

Messagepar Ramseyer Amandine » 25 Sep 2008, 13:15

ça marche, mille merci !

Connaissez-vous la formule pour le calcul d'une p-value exacte (pour des petits échantillons) dans R ???
SPSS permet de calculer le p normal et la valeur exacte... mais comme je dois utiliser R...
Amandine RAMSEYER

PhD Student in Ethology

IPHC DEPE, UMR 7178 CNRS-ULP

Strasbourg, France


Retourner vers « Questions en cours »

Qui est en ligne

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