関数から面白い機能を見つけましたddply
。要約出力データ フレームでは、入力データ フレームと同じ変数名を使用できないようです。
set.seed(1)
ex <- data.frame(Type = c(rep("a", 10), rep("b", 10)), time = rnorm(20, 6,3))
ddply(ex, .(Type), summarize, time = mean(time), n = length(time))
Type time n
1 a 6.396608 1
2 b 6.746535 1
length
1 として出力されます。一方、変数名 (時間) を別の名前に変更すると、次のようになります。
ddply(ex, .(Type), summarize, tim = mean(time), n = length(time))
Type tim n
1 a 6.396608 10
2 b 6.746535 10
出力の列を再配置すると、それも役立ちます。
ddply(ex, .(Type), summarize, n = length(time), time = mean(time))
Type n time
1 a 10 6.396608
2 b 10 6.746535
または、入力の変数の名前を変更します。
set.seed(1)
ex <- data.frame(Type = c(rep("a", 10), rep("b", 10)), tim = rnorm(20, 6,3))
ddply(ex, .(Type), summarize, time = mean(tim), n = length(tim))
Type time n
1 a 6.396608 10
2 b 6.746535 10
しかし:
ddply(ex, .(Type), summarize, tim = mean(tim), n = length(tim))
Type tim n
1 a 6.396608 1
2 b 6.746535 1
私は取り組んでいます:
R version 3.0.0 (2013-04-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
plyr_1.8
plyr
これはR 3.0.0 以降の既知の機能ですか?