1

我有两个系列,我使用merge(foo, footoo, all = FALSE).

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

  1. 作为现有 xts 对象中的新列
  2. 或作为具有相同索引的新 xts 对象。

我试图避免使用,cbind因为我不能让自己随意将未索引的数据向量加入到我安全排序的 xts 对象中。

我是否需要强制使用 data.frame 之类的东西(我知道该怎么做)?但如果是这样,我如何保持我的索引完好无损?令我紧张的是订单。

我对 R 很陌生,这是我第一次在 R 中使用时间序列,所以如果这个问题的答案对除我之外的所有人来说都是显而易见的,我深表歉意。

提前致谢。

4

2 回答 2

3

例如transform,您可以像这样创建一个新列:

obj <- merge(foo, footoo, all = FALSE)  
transform(obj, newfoo = foo/footoo )
于 2013-10-16T04:58:33.240 回答
1

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

mergedXTS <- merge(foo, footoo, all=FALSE)
mergedXTS$newfoo <- mergedXTS$foo/mergedXTS$footoo
于 2013-10-16T07:28:09.427 回答