여러 개의 열이있는 데이터 프레임이 있습니다. 하나의 열에 대해서는 누적 합계를 계산하고 싶습니다만 누락 된 값에 문제가 있습니다. NA 이후 다시 시작하는 누적 값
-1.2 3.4 -4.9 0.1 8.1 9.1 7.1 NA NA NA -3 2.1 4
는이 작업을 수행 할 수 있습니다
#sample data
test <- c(-1.2, 4.6, -8.3, 5, 8, 1, -2, NA, NA, NA, -3, 5.1, 1.9)
test <- as.data.frame(test)
#This gives NA after NAs occurred
sum_test <- lapply(test, FUN=cumsum)
sum_test
$test
[1] -1.2 3.4 -4.9 0.1 8.1 9.1 7.1 NA NA NA NA NA NA
#This continues with adding to pre-NA value after last NA
sum_test <- lapply(test, function(x) ave(x, is.na(x), FUN=cumsum))
sum_test
$test
[1] -1.2 3.4 -4.9 0.1 8.1 9.1 7.1 NA NA NA 4.1 9.2 11.1
그러나, 내가 무엇을 달성하고자하는 것은의 NAS cumsum가 시작됩니다 후이다?
이 중대하다. 동일한 문제에 대해 'na.omit'을 사용할 수 있습니까? –
'na.omit'는 전형적으로 입력보다 짧은 벡터를 출력하므로 여기서 유용하지는 않습니다. –