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