web-dev-qa-db-fra.com

R reshape2 'Fonction d'agrégation manquante: par défaut à la longueur'

J'ai vu ce remodelage2 plusieurs fois sur SO mais je n'ai pas vu de solution à mon problème particulier;

J'ai un ensemble de données comme celui-ci;

head(data)
student    test    score
Adam      Exam1     80
Adam      Exam2     90
John      Exam1     70
John      Exam2     60

J'essaye de couler ceci à un grand format qui ressemble à ceci;

Student    Exam1    Exam2 ........ ExamX
Adam         80       90
John         70       60

en utilisant;

dcast(data,student~test,value.var='score')

mais les données finissent par ressembler à quelque chose comme ça;

Student    Exam1     Exam2
Adam        0          0
John        0          1

avec cette erreur;

Aggregation function missing: defaulting to length

Des idées pourquoi il change toutes ces valeurs en (0 ou 1)?

19
chattrat423

Merci à @akrun qui l'a signalé.

Eh bien, il y a de fortes chances que vos données aient une ligne en double qui ressemble à ceci:

student    test    score
Adam      Exam1     80
Adam      Exam1     85
Adam      Exam2     90
John      Exam1     70
John      Exam2     60

Ou comme ça:

student   class     test    score
Adam      Biology   Exam1     80
Adam      Theology  Exam1     85
Adam      Theology  Exam2     90
John      Biology   Exam1     70
John      Theology  Exam2     60

Lorsque vous le transformez comme ceci: dcast(data, student + class ~ test, value.var='score')

16
JelenaČuklina