2012-01-26 9 views
0

Rのby()関数を使用して、ある因子のすべてのサブセットに対してA FUN()を実行しています。 FUN()は戻り値として2つの数値を返します。私は別に2つの返された番号を使用できるように、通常のdata.frameにクラス「で」これを変換したいby()関数を使って返された "by"クラスの処理方法R

--------------------------------------------------------------------------------------- 
: 98012 
[1] 25.00 0.84 
--------------------------------------------------------------------------------------- 
: 98301 
[1] 5.0 0.6 
--------------------------------------------------------------------------------------- 

者:()関数は、このようなクラス「によって」を返します。しかし、このような "by"クラスはdata.frameに変換することはできません。何か案は?

答えて

2

byを使用しないでください。

代わりにキーはあなたの関数はdata.frameを取り、data.frameを返す必要があるということである

ddply(data.frame,splitting-variable,f()) 

構文でplyrパッケージからddplyを使用しています。あなたが行うことができます

+0

ジャスティン、私はddply()をチェックしました。はい。このツールを使用すると、きちんとした解決策を提供できます。ありがとう。 – Leo5188

3

:あなたは結果がmatrix代わりのdata.frameになります簡単なcbindを使用することにより、それ以外の場合はcbind.data.frameを指定する必要が

df <- do.call(cbind.data.frame, yourByResult) 

注意してください。

+0

digEmAll、お寄せいただきありがとうございます。私は別の質問[リンク]を見つけた(http://stackoverflow.com/questions/1407449/for-each-group-summarise-means-for-all-variables-in-dataframe-ddply-split)、それは詳細を与えるdo.call()の使用方法 – Leo5188

関連する問題