С учетом sortkey есть ли ярлык data.table для дублирования функций first
и last
, найденных в SAS и SPSS?
Пешеходный подход ниже обозначает первую запись группы.
Учитывая элегантность data.table(с которым я медленно знакома), я предполагаю, что там есть ярлык, использующий self join и mult
, но я все еще пытаюсь понять это.
Вот пример:
require(data.table)
set.seed(123)
n <- 17
DT <- data.table(x=sample(letters[1:3],n,replace=T),
y=sample(LETTERS[1:3],n,replace=T))
sortkey <- c("x","y")
setkeyv(DT,sortkey)
key <- paste(DT$x,DT$y,sep="-")
nw <- c( T , key[2:n]!=key[1:(n-1)] )
DT$first <- 1*nw
DT