私は、さまざまな変数や関数を試し、結果を確認することで、plyr がどのように機能するかを理解しようと努めてきました。だから私は、それが答える特定の修正よりも、plyrがどのように機能するかの説明を探しています。ドキュメントを読みましたが、私の初心者の脳はまだそれを理解していません。
いくつかのデータと名前:
mydf<- data.frame(c("a","a","b","b","c","c"),c("e","e","e","e","e","e")
                  ,c(1,2,3,10,20,30),
                  c(5,10,20,20,15,10))
colnames(mydf)<-c("Model", "Class","Length", "Speed")
mydf
質問 1: 構文の要約と変換
だから私が入力した場合:ddply(mydf, .(Model), summarise, sum = Length+Length)
私は得る:
`Model ..1
1     a   2
2     a   4
3     b   6
4     b  20
5     c  40
6     c  60
入力するとddply(mydf, .(Model), summarise, Length+Length)、同じ結果が得られます。
変換を使用する場合:ddply(mydf, .(Model), transform, sum = (Length+Length)) 
私は得る:
  Model Class Length Speed sum
1     a     e      1     5   2
2     a     e      2    10   4
3     b     e      3    20   6
4     b     e     10    20  20
5     c     e     20    15  40
6     c     e     30    10  60
しかし、最初の要約のように述べると:
  ddply(mydf, .(Model), transform, (Length+Length))
  Model Class Length Speed
1     a     e      1     5
2     a     e      2    10
3     b     e      3    20
4     b     e     10    20
5     c     e     20    15
6     c     e     30    10
では、なぜ「sum =」を追加すると違いが生じるのでしょうか?
質問 2: これらが機能しないのはなぜですか?
ddply(mydf, .(Model), sum, Length+Length)# 関数 (i) のエラー: オブジェクト '長さ' が見つかりません
ddply(mydf, .(Model), length, mydf$Length) #Error in .fun(piece, ...) : 
1 つを必要とする 'length' に 2 つの引数が渡されました
これらの例は、どこかで plyr の使い方を根本的に理解していないことを示しています。
アンサーや説明をいただければ幸いです。