データフレーム内の因子の出現回数をカウントしたい。例えば、以下のコードで指定されたタイプのイベント数カウントする:ゼロのカウントが報告されている、Rの因子のカウント発生数
library(plyr)
events <- data.frame(type = c('A', 'A', 'B'),
quantity = c(1, 2, 1))
ddply(events, .(type), summarise, quantity = sum(quantity))
を出力は次のようになります。
type quantity
1 A 3
2 B 1
しかし、私は3つのタイプがあることが何を知っていればイベントA
、B
、C
、C
の件数は0
ですつまり、出力を次のようにしたいとします。
type quantity
1 A 3
2 B 1
3 C 0
どうすればよいですか?これはどこかでこれを行うために定義された関数があるはずのように感じます。
以下は、これについてどうやって行くかについての私の2つの非常に良いアイデアです。
アイデア#1:私はfor
ループを使用してこれを行うことができます知っているが、私はあなたがR
でfor
ループを使用している場合は、あなたがそこになければなりません、何か間違ったことをやっていると言わ広くされていることを知っていますそれを行うためのより良い方法である。
アイデア#2:元のデータフレームにダミーエントリを追加します。このソリューションは機能しますが、より洗練されたソリューションが必要なように感じられます。
events <- data.frame(type = c('A', 'A', 'B'),
quantity = c(1, 2, 1))
events <- rbind(events, data.frame(type = 'C', quantity = 0))
ddply(events, .(type), summarise, quantity = sum(quantity))
'Eを試してみてください< - サプリー(イベント、FUN = as.factor);テーブル(e) ' – isomorphismes