データ フレームを複数のデータ セットに分割し、各セットに対して同一の操作を実行する plyr の機能が気に入っています。最良の部分は、適切にラベル付けされたきちんとしたコンパクトな表として結果を表示するときです。each() を使用して一連の計算を 1 行に入れるのが大好きです。ただし、ddply 引数でサマライズ関数を使用すると、出力が破棄され、ラベルが付けられずに長くなる理由がわかりません。私が何を意味するかを見るためにここを見てください。私が間違っていることを教えてもらえますか?私は要約を使用することを好みます。
まず、サンプル データ フレームを設定しましょう。ある調査に 60 人の参加者がいたとします。そのうちの 20 人はおもしろく、20 人は賢く、20 人は親切でした。次に、各科目がスコアを受け取りました。
type<-rep(c("funny","clever", "nice"),20)
score<-rnorm(60)+10
data<-data.frame(type,score)
ここで、3 種類の人それぞれの平均スコア、中央値スコア、最小スコア、および最大スコアを示す表が必要です。
ddply(data,.(type), summarise, each(mean,median,min,max)(score))
上記の行は、適切なテーブル (3 行 - 各タイプに 1 行、4 列のデータ) を提供するはずです。悲しいかな、数字の列が 1 つしかなく、ラベルが付けられていない長いテーブル全体が表示されます。
ddply(data,.(type), function(jjkk) each(mean,median,min,max)(jjkk$score))
上記の行は、私が望むものを提供します。ddply の構文について、私が理解していないことを説明していただけますか。