【问题标题】:Standardizing dates in long format dataframe标准化长格式数据框中的日期
【发布时间】:2020-05-26 04:02:15
【问题描述】:

我有一个数据框,其中包含巴西每个州的每日 COVID 病例和死亡人数,如下所示:

state   date                cases            deaths
 RO 2020-03-20               1                0
 RO 2020-03-21               1                0
 RO 2020-03-22               3                0
 RO 2020-03-23               3                0
 RO 2020-03-24               3                0
 RO 2020-03-25               5                0

我的问题是各州的开始日期不同,尽管它们都在 2020-05-24 结束。例如,RO 开始于 2020 年 3 月 20 日,但AC 开始于 2020 年 3 月 19 日。有什么技术可以用来标准化它们,以便每个州都从 2020-02-26 开始?

【问题讨论】:

    标签: r tidyverse


    【解决方案1】:

    假设“日期”是 Date 类,一个选项将是 complete

    library(dplyr)
    library(tidyr)
    df1 %>%
       group_by(state, region) %>%
       complete(date = seq(as.Date('2020-02-26'), last(date), by = '1 day')) %>%
       ungroup
    

    默认情况下,使用complete 添加的缺失日期将具有其他列,即这些行的“案例”、“死亡”为NA,除非我们使用fill 参数进行更改

    【讨论】:

    • 太好了,这就是我需要的!还有一件事我忘了问:我的数据框还有一列指示状态所属的区域。是否可以告诉完整的函数用相应的区域填充多余的行?
    • @RodrigoDias 可能你需要group_by(state, region)
    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 2017-06-28
    相关资源
    最近更新 更多