gpt4 book ai didi

r - 更新 XTS 对象

转载 作者:行者123 更新时间:2023-12-01 01:12:23 25 4
gpt4 key购买 nike

我一直在努力在 R 上做一些可能非常简单的事情。我想做的是使用另一个 XTS 对象更新 XTS 对象列。

假设我有以下 XTS 对象,名为 Object1:

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

我正在寻找一种使用 Object2 中的值更新 Object1 的方法,结果如下:
A B
2000-01-03 , 14, NA
2000-01-04 , NA, NA
2000-01-05 , 160, 100
2000-01-06 , 20, 200

如果我合并(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) 的输出和 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"))

最佳答案

您可以子集 Object1使用索引 Object2

> Object1[index(Object2), "A"] <- Object2$A
> Object1
A B
2000-01-03 14 NA
2000-01-04 NA NA
2000-01-05 160 100
2000-01-06 20 200

关于r - 更新 XTS 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14613981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com