次の例を使用して、誰かが集約と ddply の違いを理解するのを手伝ってくれますか?
データ フレーム:
mydat <- data.frame(first = rpois(10,10), second = rpois(10,10),
third = rpois(10,10), group = c(rep("a",5),rep("b",5)))
集計を使用して、係数で分割されたデータ フレームの一部に関数を適用します。
aggregate(mydat[,1:3], by=list(mydat$group), mean)
Group.1 first second third
1 a 8.8 8.8 10.2
2 b 6.8 9.4 13.4
別の関数に集計を使用してみてください (エラー メッセージが返されます)。
aggregate(mydat[,1:3], by=list(mydat$group), function(u) cor(u$first,u$second))
Error in u$second : $ operator is invalid for atomic vectors
次に、ddply (plyr パッケージ) で同じことを試してください。
ddply(mydat, .(group), function(u) cor(u$first,u$second))
group V1
1 a -0.5083042
2 b -0.6329968
すべてのヒント、リンク、批判は高く評価されます。