gpt4 book ai didi

r - 如何添加行并通过多个变量推断数据?

转载 作者:行者123 更新时间:2023-12-04 10:21:17 25 4
gpt4 key购买 nike

我正在尝试为“day”添加缺失的行并推断“value”的数据。在我的数据中,每个主题(“id”)都有 2 个时期(时期 1 和时期 2)和连续天数的值。

我的数据示例如下所示:

df <- data.frame(
id = c(1,1,1,1, 1,1,1,1, 2,2,2,2, 2,2,2,2, 3,3,3,3, 3,3,3,3),
period = c(1,1,1,1, 2,2,2,2, 1,1,1,1, 2,2,2,2, 1,1,1,1, 2,2,2,2),
day= c(1,2,4,5, 1,3,4,5, 2,3,4,5, 1,2,3,5, 2,3,4,5, 1,2,3,4),
value =c(10,12,15,16, 11,14,15,17, 13,14,15,16, 15,16,18,20, 16,17,19,29, 14,16,18,20))

对于每个 id 和周期,我分别缺少第 3、2、1、4、1、5 天的数据。我想将数据扩展到假设 10 天并推断值列上的数据(例如使用线性回归)。

我的最终 df 应该是这样的:
df2 <- data.frame(
id = c(1,1,1,1,1,1,1, 1,1,1,1,1,1,1, 2,2,2,2,2,2,2, 2,2,2,2,2,2,2, 3,3,3,3,3,3,3, 3,3,3,3,3,3,3),
period = c(1,1,1,1,1,1,1, 2,2,2,2,2,2,2, 1,1,1,1,1,1,1, 2,2,2,2,2,2,2, 1,1,1,1,1,1,1, 2,2,2,2,2,2,2),
day= c(1,2,3,4,5,6,7, 1,2,3,4,5,6,7, 1,2,3,4,5,6,7, 1,2,3,4,5,6,7, 1,2,3,4,5,6,7, 1,2,3,4,5,6,7),
value =c(10,12,13,15,16,17,18, 11,12,14,15,17,18,19, 12,13,14,15,16,18,22, 15,16,18,19,20,22,23, 15,16,17,19,29,39,49, 14,16,18,20,22,24,26))

最相似 example我发现不能通过两个变量(在我的情况下为 ID 和期间)进行推断,它仅按年份推断。我尝试修改代码但没有成功:(

Another example通过多个 id 推断数据,但不会为丢失的数据添加行。

我无法将这两个代码与我有限的 R 经验结合起来。有什么建议吗?
提前致谢...

最佳答案

我们可以使用 complete

library(dplyr)
library(tidyr)
library(forecast)
df %>%
group_by(id, period) %>%
complete(day =1:7)%>%
mutate(value = as.numeric(na.interp(value)))

关于r - 如何添加行并通过多个变量推断数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60837541/

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