Maneira rápida de contar eventos em uma janela deslizante
Suponha que eu tenhax = rnorm(100000)
e em vez de fazer um1000
janela deslizante de comprimento média móvel, eu queria fazer uma1000
janela deslizante de comprimento que conta todas as vezes quex
está acima0.2
.
Por exemplo,
x <- rnorm(1004)
start <- 1:1000
record <- list()
while(start[length(start)] <= length(x)) {
record[[length(record) + 1]] <- length(which(x[start] > 0.2))/length(start)
start <- start + 1
print(record[[length(record)]]);flush.console()
}
Isso se torna incontrolável para grandeslength(x)
. O que é um método altamente eficiente?