gpt4 book ai didi

r - 我可以使用什么函数来完成和填充缺失的时间序列观测值,避免在序列开始日期之前完成?

转载 作者:行者123 更新时间:2023-12-02 18:15:03 25 4
gpt4 key购买 nike

我有按 id 分组的长时间序列数据框。该系列有不同的开始日期,也缺少观察结果。我想通过填写日期和 ID 并用 0 填充来完成缺失的观察。

在此过程中我想避免的是完成一开始缺失的观察,因为这只是一个指标,时间序列有一个较晚的起点(例如产品的不同发布日期)。

在我的 reprex 中,我使用了 tidyr 中的 complete。它的作用与我想要的相反。它不是用“2015-01-04”来完成 id“A1”,而是用“2015-01-01”来完成 id“B1”,这在本例中是不需要的。 Complete 是否总是创建相同大小的组?也许这是一个错误的函数。

如何在以下示例中实现相反的效果?

library(tidyr)

data <- data.frame (id = as.character(c(rep("A1",6),rep("B1",5))),
value = c(seq( 1, 9, length.out = 11)),
date = as.Date(c(c("2015-01-01","2015-01-02","2015-01-03",
"2015-01-05","2015-01-06","2015-01-07"),
c("2015-01-02","2015-01-03","2015-01-05",
"2015-01-06","2015-01-07")
)
)
)

data %>% complete(date, id, fill = list(value = 0))

最佳答案

您需要提供明确填写的日期:

data %>%
group_by(id) %>%
complete(date = seq(min(date), max(date), by = 1), fill = list(value = 0))

关于r - 我可以使用什么函数来完成和填充缺失的时间序列观测值,避免在序列开始日期之前完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71706109/

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