0
를 반환, 여기은 내가 데이터 테이블 TT 만들려면이 코드를 사용하고 R. 롤링 합계를 계산하고 싶습니다의 NA
TT <- data.table(ID=c(rep(100,9),rep(200,6)),date=seq(as.Date("1958-04-25"),as.Date("1958-05-9"),by="days"),
output=c(5,8,NA,6,7,8,NA,12,13,2,14,12,14,14,NA))
내가 롤링 합계를 계산하기 위해 노력을하지만, 결과도 제 케이스 (ID)에 불구하고, 길이가되어야 만의 NA이다> 제
TT[,XX :=
ifelse(length(output) >= 7,
rollapply(output, 7, sum, na.rm = TRUE,align = "right",fill = NA_real_),
rep(NA_real_,length(output))),by=ID]
TT[,length(output),by=ID]
내가 가능한 ID에 따라, (7)의 창 압연 합을 계산한다 싶지 . ID 당 가능한 (행이 충분하지 않은 경우) ID가 없으면 NA 만 갖기를 원합니다. 저는 다른 솔루션에 대해서도 열려 있습니다.
zoo 개발 버전은'width ='인수보다 짧은 시리즈를 처리 할 수 있습니다. 'install.packages ("zoo", repos = "http://R-Forge.R-project.org"); TT [, XX : = rollapplyr (출력, 7, 합, na.rm = TRUE, 채우기 = NA_real_) by = ID] ' –
오 대단합니다! 힌트를 가져 주셔서 감사합니다. – EDC