【问题标题】:Populate missing dates using groupby another column使用 groupby 另一列填充缺失的日期
【发布时间】:2020-08-13 11:07:10
【问题描述】:

我想在每个 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 的缺失日期吗?

【问题讨论】:

    标签: r


    【解决方案1】:

    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 
    

    【讨论】:

    猜你喜欢
    • 2019-11-01
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多