私がやろうとしていることは、別の XTS オブジェクトを使用して XTS オブジェクト列を更新することです。
Object1 という名前の次の XTS オブジェクトがあるとします。
A B
2000-01-03 , 14, NA
2000-01-04 , NA, NA
2000-01-05 , 16, 100
2000-01-06 , NA, 200
そして、Object2 という名前の次の XTS オブジェクト:
A
2000-01-05 , 160
2000-01-06 , 20
Object1 を Object2 の値で更新する方法を探しています。結果は次のようになります。
A B
2000-01-03 , 14, NA
2000-01-04 , NA, NA
2000-01-05 , 160, 100
2000-01-06 , 20, 200
merge(Object1,Object2) を実行すると、次のようになります。
A B A.1
2000-01-03 , 14, NA, NA
2000-01-04 , NA, NA, NA
2000-01-05 , 16, 100, 160
2000-01-06 , NA, 200, 20
Object2$A に基づいて Object1$A を更新しようとしているので、これは私が探しているものではありません。
ここで何が欠けていますか?
これを再現可能にするためのdput(Object1)
andの出力は次のとおりです。dput(Object2)
> dput(Object1)
structure(c(14, NA, 16, NA, NA, NA, 100, 200), .Dim = c(4L, 2L
), index = structure(c(946857600, 946944000, 947030400, 947116800
), tzone = "UTC", tclass = "Date"), .indexCLASS = "Date", tclass = "Date", .indexTZ = "UTC", tzone = "UTC", .Dimnames = list(
NULL, c("A", "B")), class = c("xts", "zoo"))
> dput(Object2)
structure(c(160, 20), .Dim = c(2L, 1L), index = structure(c(947030400,
947116800), tzone = "UTC", tclass = "Date"), .indexCLASS = "Date", tclass = "Date", .indexTZ = "UTC", tzone = "UTC", .Dimnames = list(
NULL, "A"), class = c("xts", "zoo"))