Po utworzeniu klucza na data.table:data.table „Kluczowe Wskaźniki” lub „przeciw” grupa
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
Chciałbym dostać wektor dając całkowitą dla każdego wiersza odpowiadający „indeksu klucz” . Mam nadzieję, że oczekiwany wynik (kolumna i
) poniżej pomogą wyjaśnić, co mam na myśli:
# 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
Myślałem o użyciu coś podobnego cumsum(!duplicated(DT[, key(DT), with = FALSE]))
ale jestem nadzieją, istnieje lepsze rozwiązanie. Czuję, że ten wektor może być częścią wewnętrznej reprezentacji tabeli i być może jest jakiś sposób, aby uzyskać do niego dostęp? Nawet jeśli tak nie jest, co byś zasugerował?
Myślę, że '.GRP' jest bardzo dobrym pomysłem i marzył o tym w przeszłości. Ładne i pozornie optymalne rozwiązanie, BTW. –
@ JoshO'Brien Ok, '.GRP' teraz w wersji 1.8.3. –
Jak znaleźć dokumentację na temat tych i innych zmiennych, takich jak '.SDcols'? ?? .GRP' itp. –