Reshape et cast

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

Nicolas Rochat
Messages : 18
Enregistré le : 22 Nov 2013, 12:18

Reshape et cast

Messagepar Nicolas Rochat » 22 Nov 2013, 14:21

Bonjour

Sur un jeu de donnée la fonction cast semble me poser quelques soucis

Code : Tout sélectionner

data2<-data[data$Sujet=="S01",]

Wide2<-cast(data2,
            Sujet~question+type.de.diapo+temps)


Lorsque je sélection un seul sujet sur mes données celle ci ce comporte correctement

par contre dès que j'en utilise deux c'est le drame

Code : Tout sélectionner

Wide1<-cast(data,
             Sujet~question+type.de.diapo+temps)


par défaut le code semble utiliser la fonction fun.aggregate, alors que l'a n'est pas le but (Using Pupille.0 as value column. Use the value argument to cast to override this choice Aggregation requires fun.aggregate: length used as default)

les données qui vont avec
ici

Si quelqu'un sait pourquoi merci

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 24 Nov 2013, 12:20

Il nous faut un exemple reproductible précisant le package d'où vient cette fonction, ainsi que les données pour reproduire l'erreur.
Renaud

matthieu faron
Messages : 586
Enregistré le : 16 Fév 2011, 11:23

Messagepar matthieu faron » 24 Nov 2013, 15:27

Bonjour,

D'après les données que vous avez fourni, la formule que vous avez donné ne permez pas d'identifiez de façon unique chaque cellule.

En effet il existe des duplications pour certaines cellules :

Code : Tout sélectionner

summary(duplicated(data[, c("Sujet", "question", "type.de.diapo", "temps")]))
   Mode   FALSE    TRUE    NA's
logical    4765    4281       0


Du coup, certaines cases de votre tableau final doivent représenter plusieurs cellules à la fois d'où le message. Peut être utiliser une autre fonction pour l'aggregation (mean ou median) permettrait d'obtenir une valeur plus proche de ce que vous cherchez

Code : Tout sélectionner

Wide1<-cast(data,
             Sujet~question+type.de.diapo+temps, fun.aggregate = mean)
Matthieu FARON

Nicolas Rochat
Messages : 18
Enregistré le : 22 Nov 2013, 12:18

Messagepar Nicolas Rochat » 24 Nov 2013, 23:48

merci effectivement vous avez raison


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité