использование data.table для пометки первой (или последней )записи в группе

Учитывая ключ сортировки, есть ли ярлык data.table для дублирования функций firstи last, имеющихся в SAS и SPSS?

Пешеходный подход ниже отмечает первую запись группы.

Учитывая элегантность data.table (, с которой я постепенно знакомлюсь ), я предполагаю, что есть ярлык с использованием самообъединения & 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
22
задан Joshua Ulrich 6 May 2012 в 21:30
поделиться