ts(x)中的错误:R中指定了无效的时间序列参数过滤器netcdf

时间:2018-07-13 13:26:54

标签: r filter

我正在尝试在循环中使用过滤器功能,因此将单独考虑输入文件的每个网格单元。我正在做的是

public ActionResult SomeAction()
{
    var predefinedRedirect = MaybeRedirect();

    if (predefinedRedirect != null)
        return predefinedRedirect;

    // The rest of the code
}

private ActionResult MaybeRedirect()
{
    if (Session["level"] == null)
        return RedirectToAction("Home", "Whatever");

    if ((int)Session["level"] == 1)
        return RedirectToAction("Choose", "Whatever");

    ... // other conditions here

    return null;
}

读取具有115个时间步长和128x64网格分辨率的netcdf文件。现在,我要做的是计算每个网格单元随时间的变化,这在以下几行中效果很好:

library(ncdf4) 
library(xts)
model <- nc_open("test.nc") 
data <- ncvar_get(model, "varname")
data <- data[,,39:153]

但是,当我尝试包括这样的过滤器功能时:

var<-matrix(0,128,64) 

for (i in 1:128){
  for (j in 1:64){
    var[i,j]<-var(data,na.rm=T)
  }
}

我得到了错误

var_filter<-matrix(0,128,64) 

for (i in 1:128){
  for (j in 1:64){
    var_filter[i,j]<-var(filter(data, rep(1/30,30)),na.rm=T)
  }
}

stackoverflow上的其他一些帖子建议尝试类似的方法

Error in ts(x) : invalid time series parameters specified
Calls: var ... is.data.frame -> filter -> as.ts -> as.ts.default -> ts

但这给了我新的错误

position <- xts(rowSums(data, na.rm=TRUE), index(data))

我对r的知识不是很扎实。这到底是什么意思?我该如何解决呢?

0 个答案:

没有答案