2017-01-17 5 views
1

私はこれを実行すると、大きなデータフレームを、持っている:R dcast:dcast値の計算はどのように行うのですか?

dcast(mydata, People ~ Categories, value.var = "Answer Count", **sum**) 

と、これが結果です:

People category1 category2 
Marge 3,648 6,402 
Homer 3,586 6,684 
Bart 3,469 7,119 
Lisa 4,045 6,758 
Maggie 2,847 5,748 

はまた、この:

dcast(mydata, People ~ Categories, value.var = "Answer Count", **length**) 

はこれを行います:

People category1 category2 
Marge 2,531 4,516 
Homer 2,535 4,512 
Bart 2,542 4,563 
Lisa 2,501 4,488 
Maggie 2,517 4,513 

dcast(mydata, People ~ Categories, value.var = "Answer Count", **sum/length/6**) 

、これらの値を取得::効果的に、私はこれをしたい

People category1 category2 
Marge 0.240221256 0.236271036 
Homer 0.235765943 0.246897163 
Bart 0.227445581 0.260026298 
Lisa 0.269558843 0.250965538 
Maggie 0.188518077 0.212275648 

は、私が引数としてfun.aggregateを操作しようとしたのが、私はそれが正しい道だか分からない、またはIドン私は何をしているのか知りません。誰かが私にこれを助けてくれますか? (追記:このサンプルは、2つのカテゴリがあり、実際のデータは> 40を有する。)

答えて

1

は、私たちは私がとても近かったfun.aggregate

library(reshape2) 
dcast(mydata, People ~ Categories, 
    value.var = "Answer Count", fun.aggregate = function(x) sum(x)/length(x)) 
+1

に匿名関数呼び出しを使用することができます。大変ありがとうございました! :) –

関連する問題