小编use*_*707的帖子

根据组内缺失的日期添加行

我想行添加到基于最小和最大的数据的数据帧中的每个组。假设这是我的原始数据框:

df = data.frame(Date = as.Date(c("2017-12-01", "2018-01-01", "2017-12-01", "2018-01-01", "2018-02-01","2017-12-01", "2018-02-01")),
            Group = c(1,1,2,2,2,3,3),
            Value = c(100, 200, 150, 125, 200, 150, 175))
Run Code Online (Sandbox Code Playgroud)

请注意,第 1 组有 2 个连续日期,第 2 组有 3 个连续日期,第 3 组缺少中间的日期 (2018-01-01)。我希望能够通过添加缺失日期的行来完成数据框。但问题是我只想根据每个组中最小和最大日期之间缺少的日期添加其他日期。因此,如果我要完成此数据框,它将如下所示:

df_complete = data.frame(Date = as.Date(c("2017-12-01", "2018-01-01", "2017-12-01", "2018-01-01", "2018-02-01","2017-12-01","2018-01-01", "2018-02-01")),
            Group = c(1,1,2,2,2,3,3,3),
            Value = c(100, 200, 150, 125, 200, 150,NA, 175))
Run Code Online (Sandbox Code Playgroud)

因为第 3 组缺少一个日期,所以只添加了一行。没有为第 1 组添加日期,因为它具有最小日期 (2017-12-01) 和最大日期 (2018-01-01) 之间的所有日期。

r dataframe

4
推荐指数
1
解决办法
2388
查看次数

标签 统计

dataframe ×1

r ×1