:data.table「キーインデックス」または「グループ・カウンタ」
set.seed(12345)
DT <- data.table(x = sample(LETTERS[1:3], 10, replace = TRUE),
y = sample(LETTERS[1:3], 10, replace = TRUE))
setkey(DT, x, y)
DT
# x y
# [1,] A B
# [2,] A B
# [3,] B B
# [4,] B B
# [5,] C A
# [6,] C A
# [7,] C A
# [8,] C A
# [9,] C C
# [10,] C C
Iが行ごとに対応する「キーインデックス」を与える整数ベクトルを取得したいと思い。
# x y i
# [1,] A B 1
# [2,] A B 1
# [3,] B B 2
# [4,] B B 2
# [5,] C A 3
# [6,] C A 3
# [7,] C A 3
# [8,] C A 3
# [9,] C C 4
# [10,] C C 4
は、私がcumsum(!duplicated(DT[, key(DT), with = FALSE]))
のようなものを使用して考えたが、よりよい解決策があると期待しています:私は期待出力(列i
)は、以下の私が何を意味するかを明確に役立つことを願っています。私はこのベクトルがテーブルの内部表現の一部であると感じ、それにアクセスする方法があるかもしれません。そうでない場合でも、何をお勧めしますか?
私は '.GRP'はとても良いアイデアだと思っており、過去にそれを望んでいました。ニースと一見最適なソリューション、BTW。 –
@ JoshO'Brien Ok、1.8.3に '.GRP'が追加されました。 –
'.SDcols'のようなこれらの変数と他の変数についてのドキュメントはどうやって見つかりますか? ?.GRP'など –