R xts如何添加计算列

时间:2013-10-16 04:17:49

标签: r xts

我使用merge(foo, footoo, all = FALSE)在一个xts对象中加入了两个系列。

现在我需要一个新的vector = foo / footoo:

  1. 作为现有xts对象中的新列
  2. 或作为具有相同索引的新xts对象。
  3. 我正在努力避免使用cbind,因为我无法随意将未经索引的数据向量加入到安全排序的xts对象中。

    我是否需要强制使用data.frame(我知道如何操作)?但如果是这样,我如何保持我的索引完整?让我紧张的是订购

    我是R的新手,这是我第一次使用R中的时间序列,所以如果这个问题的答案对我来说很明显,我很抱歉。

    提前致谢。

2 个答案:

答案 0 :(得分:2)

例如,使用transform,您可以创建一个新列:

obj <- merge(foo, footoo, all = FALSE)  
transform(obj, newfoo = foo/footoo )

答案 1 :(得分:1)

您可以安全地执行以下操作。按时间索引xts始终为cbindmerge

mergedXTS <- merge(foo, footoo, all=FALSE)
mergedXTS$newfoo <- mergedXTS$foo/mergedXTS$footoo