我有一个时间序列对象,由 n 时间序列和 ndiffs 组成。我得到一个向量,其中差分顺序是获得静止时间序列所必需的。现在我想做到这一点。但是
tmp <- sapply(ts, ndiffs, alpha=0.05, test=c("kpss", "adf", "pp"))
sapply(ts, function(x) diff(x,differences = tmp) )
..无效。
是否有一些想法没有使用 for 循环?
答案 0 :(得分:0)
您可以使用map2
包中的purrr
来遍历两个向量:
purrr::map2(.x = ts,
.y = tmp,
.f = function(x, y){
diff(x, differences = y)
})
或mapply
:
mapply(function(x, y){
diff(x, difference = y)
}, x = ts, y = tmp)
sapply的问题是它只迭代单个对象。