r - 使用 groupby 另一列填充缺失日期

标签 r

我想在每个 bodlane 的数据框 DF 中包含缺失的日期

DF:

Bodlane                      Day           Holiday
185_AB1                     2020-05-01      True
185_AB1                     2020-05-05      True
201_AB1                     2020-05-02      True
201_AB1                     2020-05-05      True

输出:

Bodlane                      Day           Holiday
185_AB1                     2020-05-01      True
185_AB1                     2020-05-02      NA
185_AB1                     2020-05-03      NA
185_AB1                     2020-05-04      NA
185_AB1                     2020-05-05      True
201_AB1                     2020-05-02      True
201_AB1                     2020-05-03      NA
201_AB1                     2020-05-04      NA
201_AB1                     2020-05-05      True

有人可以帮我获取每个 bodlane 缺少的日期吗?

最佳答案

tidyverse 中的 complete() 函数可以实现您想要的功能:

library(tidyverse)

df <- read_table("Bodlane                      Day           Holiday
185_AB1                     2020-05-01      True
185_AB1                     2020-05-05      True
201_AB1                     2020-05-02      True
201_AB1                     2020-05-05      True")

df %>% 
  group_by(Bodlane) %>% 
  complete(Day = seq.Date(min(Day), max(Day), by = "d")) %>%
  ungroup()

这给出了

  Bodlane Day        Holiday
  <chr>   <date>     <lgl>  
1 185_AB1 2020-05-01 TRUE   
2 185_AB1 2020-05-02 NA     
3 185_AB1 2020-05-03 NA     
4 185_AB1 2020-05-04 NA     
5 185_AB1 2020-05-05 TRUE   
6 201_AB1 2020-05-02 TRUE   
7 201_AB1 2020-05-03 NA     
8 201_AB1 2020-05-04 NA     
9 201_AB1 2020-05-05 TRUE 

关于r - 使用 groupby 另一列填充缺失日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61500475/

相关文章:

将 R 中的 NA 值替换为按 ID 子集化的 999

r - 使用 ggplot2 整齐地注释森林图

r - 使用 confusionMatrix 计算 Precision、Recall 和 F-Score

r - R是解释型还是编译型编程语言?

R plotly : how to order pie chart?

r - R中多边形边缘上的样本点

r - 如何从R中的列中删除符号?

r - 年-周在 r 中加一周

r - 如何按顺序遍历 r data.frame 中的每一行,然后遍历每一列?

python - 哪个 winsorize 更准确,Python 还是 R