2
我有一个动物园对象z
用10行和2列如下:添加列动物园对象
Date Return
1986-01 0.00308215260513781
1986-02 0.00305355599484584
. .
. .
. .
1986-10 0.00349830477430457
我需要包含z
对象从数据帧新列X
沿new
动物园对象df
。所需的输出应该是这样的:
Date Return X
1986-01 0.00308215260513781 11
1986-02 0.00305355599484584 12
. . .
. . .
. . .
1986-10 0.00349830477430457 20
我用下面的代码:
new= merge(z , df$X)
然而,它给人的结果不理想,但与分配给的z
每一行中X
每个值。 new
对象现在有100行。它还从动物园对象中删除了日期列。找不到问题出在哪里。
对于可再现例如:
# get the z object
structure(c(NA, 0.00308215260513781, 0.00305355599484584, 0.00166059811703964,
-0.00511749445720536, -0.00145300480100395, -0.00171675339332211,
-0.00335452754121814, 0.000189812976282344, 0.00349830477430457
), .Dim = 10L, .Dimnames = list(c("1986-01", "1986-02", "1986-03",
"1986-04", "1986-05", "1986-06", "1986-07", "1986-08", "1986-09",
"1986-10")))
# get the df data frame
structure(list(a = 1:10, X = 11:20), .Names = c("a", "X"), row.names = c(NA,
-10L), class = "data.frame")
在你DF你没有一个“约会“列,所以没有列匹配。这就是为什么z的每个值都与df $ x的每个值匹配的原因,这确实导致了行数的增加。正如亨德里克所说,cbind可能取决于你想要的。 – Wave 2014-10-02 11:49:36
@Henrik cbind完成这项工作,但是,它将日期列定义为一个row.names,我可以将其转换为zoo对象。使用cbind之后,将新输出转换为zoo对象有什么办法吗?我还更新了问题中的数据以匹配'dput' – athraa 2014-10-02 11:58:00