11
1 년 최대 횟수로 나타나는 과목 만 유지하려는 패널 데이터 (주/년)가 있습니다. 데이터 세트가 너무 커서 data.table 패키지를 사용하고 있습니다. 아래에서 시도한 것보다 더 우아한 해결책이 있습니까?R data.table 패널 데이터 수
library(data.table)
DT <- data.table(SUBJECT=c(rep('John',3), rep('Paul',2),
rep('George',3), rep('Ringo',2),
rep('John',2), rep('Paul',4),
rep('George',2), rep('Ringo',4)),
YEAR=c(rep(2011,10), rep(2012,12)),
HEIGHT=rnorm(22),
WEIGHT=rnorm(22))
DT
DT[, COUNT := .N, by='SUBJECT,YEAR']
DT[, MAXCOUNT := max(COUNT), by='YEAR']
DT <- DT[COUNT==MAXCOUNT]
DT <- DT[, c('COUNT','MAXCOUNT') := NULL]
DT
본질적으로 각 beatle에 대해 가장 데이터가 풍부한 해의 모든 데이터가 포함 된 data.table을 원하십니까? –
'j' 표현식에서와 마찬가지로'data.table'에'i' 표현식과 동일한'by' 기능이 있으면 좋을 것 같습니다. –