1
x <- 1:10
x[6] <- NA
x
#[1] 1 2 3 4 5 NA 7 8 9 10
rollapply(x, 3, mean)
#[1] 2 3 4 NA NA NA 8 9
움직이는 창에 3 개 이상의 NA가있는 경우에 NA를 반환하고 싶습니다. 가능합니까?rollapply에서 반환 NA?
x <- 1:10
x[6] <- NA
x
#[1] 1 2 3 4 5 NA 7 8 9 10
rollapply(x, 3, mean)
#[1] 2 3 4 NA NA NA 8 9
움직이는 창에 3 개 이상의 NA가있는 경우에 NA를 반환하고 싶습니다. 가능합니까?rollapply에서 반환 NA?
과 그 인덱스 값을 대체하기 위해 다시 rollapply
를 사용합니다. 다음과 같음 :
#Same input as d.b
x = c(1L, 2L, 3L, 4L, NA, NA, NA, 8L, 9L, 10L)
rollapply(x, 3, function(x) ifelse(sum(is.na(x))>=3, NA, mean(x, na.rm=T)))
#[1] 2.0 3.0 3.5 4.0 NA 8.0 8.5 9.0
어쩌면 세 이상 NA
으로 인덱스를 찾아 당신은 rollapply
에 function
인수를 변경하여 직접이 작업을 수행 할 수 NA
x = c(1L, 2L, 3L, 4L, NA, NA, NA, 8L, 9L, 10L)
library(zoo)
replace(x = rollapply(x, 3, mean, na.rm = TRUE),
list = which(rollapply(data = is.na(x), 3, sum) >= 3),
values = NA)
#[1] 2.0 3.0 3.5 4.0 NA 8.0 8.5 9.0
이와 비슷한? (x, na.rm = T)))'rollapply (x, 3, function (x) ifelse (sum (is.na (x) –