从XTS对象创建投影向量

时间:2016-08-23 16:09:02

标签: r xts

我正在研究一个在Excel中呈现并转换为R的示例。本质上有一个时间序列用于创建模型(projectX):

  # projectX :: float -> float
  projectX <- function(previousX){ ... }

本质上,模型是一个函数(projectX),它接受一个输入(前一个x值)并返回一个预期值X.

我想从我的XTS中的最后一个值中获取种子,然后使用生成的值作为下一个投影的种子,依此类推...... N

 projectVector <- function(N, seed)
 {
     myX1 <- projectX(seed)
     myX2 <- projectX(myX1)
     myX3 <- projectX(myX2)
     myXN <- projectX(myXNMinusOne)

     c(myX1, myX2, myX3, myXN)
 }

 myProjection <- projectVector(last(myXTS)$x)

所以这可以像这样实现:

# projectVector :: (integer, float) -> [float]
projectVector <- function(n, seed){

  results <- c(seed)
  previous <- seed
  for(i in 0:n){
    new <- projectX(previous)
    results[i+1] <- new
    previous <- new
  }
  results
}

projectVector(10, as.numeric(last(myXTS)$x))

我绝对觉得有一种蛮力的解决方案。但是我觉得在R中可能有更多惯用和表达方式来实现这一点。

0 个答案:

没有答案