3

列 1 と 2 (ID と値) があります。次に、ID ごとに同じ値が発生する回数をリストするカウント列が必要です。複数回発生する場合は、明らかに値が繰り返されます。このデータセットには他にも変数がありますが、新しいカウント変数はそのうちの 2 つだけを条件とする必要があります。このブログを精査しましたが、新しい変数を複数の変数で条件付きにする方法が見つかりません。

ID     Value     Count
1        a         2 
1        a         2 
1        b         1
2        a         2
2        a         2
3        a         1
3        b         3
3        b         3
3        b         3

前もって感謝します!

4

3 に答える 3

5

使用できますave

df <- within(df, Count <- ave(ID, list(ID, Value), FUN=length))
于 2013-08-22T19:23:35.117 に答える
1

もちろん、data.table にも解決策があります。

data[, Count := .N, by = list(ID, Value)

組み込み定数「.N」は、各グループの観測数を報告する長さ 1 のベクトルです。

このアプローチの欠点は、この結果を最初の data.frame と結合することです (元の寸法を保持したい場合)。

于 2013-08-22T19:41:12.263 に答える