Изменить версию:
код:
library('zoo')
ts <- matrix(rnorm(100000),1000,100)
library('zoo')
ts <- matrix(rnorm(100000),1000,100)
roll <- function(x){
entropy <- function(x){
output <- any function or code you like to put hear
return(output)
}
r <- rollapply(x,width=500,by=1,FUN=entropy)
return(r)
}
res <- apply(ts ,2,roll)
Старая версия:
код avobe должен работать, это пример того, как вы можете это сделать:
library('zoo')
ts <- rnorm(10000)
entropy <- function(x){
return(approx_entropy(x,edim = 2, r = 0.2*sd(x), elag = 1))
}
r <- rollapply(ts,width=500,by=1,FUN=entropy)
Поймите, что когда вы вычисляете функцию скользящего окна, вывод будет иметь размер, равный length (ts) -window_length + 1.
Если это не работает с вашими данными, пожалуйста, опубликуйте пример ваших данных, чтобы увидеть, в чем проблема. Кроме того, ваша функция ок. _Entropy, потому что проблема / ошибка может быть там. Если вы прощупываете код с помощью простых функций, это означает, что он работает.
Надеюсь, это поможет!