創建一個data.table一個鍵後: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]))
但我希望有一個更好的解決方案。我覺得這個向量可能是表格內部表示的一部分,也許有辦法訪問它?即使情況並非如此,你會有什麼建議?
我覺得'.GRP'是一個非常好的主意,過去一直希望它。順便說一下,看起來最好的解決方案,BTW。 –
@ JoshO'Brien好了,'.GRP'現在在1.8.3中。 –
如何找到關於'.SDcols'這些和其他變量的文檔? '.GRP'等 –