R栅格时间序列分解错误

时间:2018-01-10 13:04:32

标签: r time-series r-raster decomposition

我正在尝试分解每月时间序列堆栈(维度:336,221,74256,420)以获取随机组件。我使用以下内容:

tsfun <- function(x) {  
  my.ts = na.remove(ts(x, start=c(1982,1), frequency=12)) 
  my.decomp = decompose(my.ts, type="multi") 
  my.exp = my.decomp$random 
}
random <- calc(ras_in, fun=tsfun)

但是我收到以下错误

.calcTest(x [1:5],有趣,na.rm,forcefun,forceapply)出错:   不能使用此功能

有什么建议吗? 万分感谢

1 个答案:

答案 0 :(得分:1)

我认为你的功能无效。当我测试它时,我得到:

tsfun(1:24)
#Error in na.remove(ts(x, start = c(1982, 1), frequency = 12)) : 
#  could not find function "na.remove"

这是一个适合我的版本:

tsfun2 <- function(x) {  
  my.ts = na.omit(ts(x, start=c(1982,1), frequency=12)) 
  decompose(my.ts, type="multi")$random 
}

tsfun2(1:24)
#     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
#1982  NA  NA  NA  NA  NA  NA   1   1   1   1   1   1
#1983   1   1   1   1   1   1  NA  NA  NA  NA  NA  NA