私は、plyrがさまざまな変数や関数を試して何がどのように働いているかを理解しようとしています。ですから、私はplyrがどのように動作するかについての解答を特定の修正よりももっと探しています。私はドキュメントを読んだが、初心者の脳はまだそれを取得していない。plyrを理解することを学ぶ、ddply
一部のデータと名前:
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
とI場合次のように入力します。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
なぜ=」合計を加算しません" 違いが生じる・異なる?
質問2:なぜこれらは機能しませんか?関数内
ddply(mydf, .(Model), sum, Length+Length)
#エラー(I):
ddply(mydf, .(Model), length, mydf$Length) #Error in .fun(piece, ...) :
2引数は1つの
これらの例は、どこかに私は「ことを示すことが多くである必要があり '長さ' に渡されたオブジェクトが見つかりません '長さ'基本的にplyrの使い方を理解していません。
アンサーまたは説明があります。
また、OPでの最初の一連の例は、式に 'val ='のようなタグを含めることを怠った場合の 'summmarise'と' transform'の間のデフォルト動作の違いです。 'summarize'は明らかにそれ自身の名前を与えますが、' transform'はそれを無視するようです。 – joran