Non so come formulare la domanda in parole, ma come posso creare una colonna di indice per un data.table che per gruppo aumenta quando viene visualizzato un valore diverso?Valori univoci dell'indice in data.table
Ecco la MWE
library(data.table)
in.data <- data.table(fruits=c(rep("banana", 4), rep("pear", 5)),vendor=c("a", "b", "b", "c", "d", "d", "e", "f", "f"))
Ecco il risultato della R-codice dovrebbe generare
in.data[, wanted.column:=c(1,2,2,3,1,1,2,3,3)]
# fruits vendor wanted.column
# 1: banana a 1
# 2: banana b 2
# 3: banana b 2
# 4: banana c 3
# 5: pear d 1
# 6: pear d 1
# 7: pear e 2
# 8: pear f 3
# 9: pear f 3
Così etichette ogni fornitore 1, 2, 3, ... all'interno di ogni frutto. C'è probabilmente una soluzione molto semplice, ma sono bloccato.
Ha funzionato! L'ho aggiunto in questo modo: in.data [, wanted.2: = in.data [, rleid (vendor), by = fruits] [, V1]]. Forse puoi scrivere una risposta così posso accettarla? – Chris