web-dev-qa-db-ja.com

R reshape2 '集計関数がありません:デフォルトの長さ'

このreshape2をSOで何度か見ましたが、私の特定の問題の解決策は見ていません。

このようなデータセットがあります。

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

私はこれをこのような幅広いフォーマットにキャストしようとしています。

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

使用して;

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

しかし、データはこのようなものになります。

Student    Exam1     Exam2
Adam        0          0
John        0          1

このエラーで。

Aggregation function missing: defaulting to length

これらの値をすべて(0または1)に変更する理由はありますか?

19
chattrat423

それを指摘してくれた@akrunに感謝します。

さて、データに次のような行が重複している可能性が高くなります。

_student    test    score
Adam      Exam1     80
Adam      Exam1     85
Adam      Exam2     90
John      Exam1     70
John      Exam2     60
_

またはこのように:

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

次のようにキャストすると:dcast(data, student + class ~ test, value.var='score')

16
JelenaČuklina