У меня есть набор данных временных рядов NDVI с 38 слоями, большим растровым стеком, и я хочу определить точку изменения с помощью функции Pettitt.test (x) пакета Trend, но я получаю сообщение об ошибке при запуске следующего кода:
library(sp)
library(raster)
library(rgdal)
library(trend)
# example dataset with 27 layers
s <- stack(system.file("external/rlogo.grd", package="raster"))
s <- stack(s, s* 2, s*3)
ss <- stack(s, s* 2, s*3)
# calculating change point k
fun2 <- function(x){
if(length(na.omit(x))<27) return(c(NA))
pttest <- pettitt.test(ts(na.omit(x)))
vl <-pttest$estimate
return(c(vl))
}
p.test<-calc(ss,fun2)
Возвращает следующую ошибку:
Error in setValues(out, x) :
values must be numeric, integer, logical or factor
почему? Кто-нибудь может мне помочь решить эту проблему? Спасибо !!!