Rのデータフレームまたはデータテーブルの複数の列にわたるグループインデックス(グループ識別子)を計算する最も効率的な方法は何ですか。データフレームの複数の列にわたるグループインデックスを計算するR
例えば、以下のデータフレームに、私は1つの生成のような、グループ識別子を持つ列「インデックス」を追加したい列AとB
DF <- data.frame(a = rep(1:2,6), b = sort(letters[1:3]))
> DF
a b
1 1 a
2 2 b
3 1 c
4 2 a
5 1 b
6 2 c
7 1 a
8 2 b
9 1 c
10 2 a
11 1 b
12 2 c
六のユニークな組み合わせがありますこれは大規模なデータフレームでは明らかに非効率な方法です:
DF$index <- with(DF, as.numeric(factor(paste0(a, b))))
> DF
a b index
1 1 a 1
2 2 b 5
3 1 c 3
4 2 a 4
5 1 b 2
6 2 c 6
7 1 a 1
8 2 b 5
9 1 c 3
10 2 a 4
11 1 b 2
12 2 c 6
非常に大きなデータフレームでこれを行う最も速い方法は何ですか? data.table
を使用して、この程度
非常に大きなデータ使用のためdata.ta ble 'https://stackoverflow.com/tags/data.table/info – jogo