首页 > 解决方案 > 将数据框中的周数转换为日期

问题描述

我有以下数据集

  Week Year 
  1    2019
  2    2019
  1    2020 
  2    2020

我希望添加一个显示一周开始日期的列(从星期日开始)

所以,我理想的输出是

  Week Year Date 
  1    2019 06/01/2019
  2    2019 13/01/2019
  1    2020 05/01/2020
  2    2020 12/01/2010

我尝试了以下解决方案

library (lubridate) 
if (df$Year ==2019) {df$Date = parse_date_time(paste(2019, df$Week, 'Sun', sep=" "),'Y/W/a')}
if (df$Year ==2019) {df$Date = parse_date_time(paste(2020, df$Week, 'Sun', sep=" "),'Y/W/a')}

但是,我收到“解析失败”的警告消息。任何提示将不胜感激

标签: rlubridate

解决方案


您可以使用as.Date自己在基础 R 中执行此操作。

根据您的尝试,您的语言环境似乎是英语,因此您可以尝试:

as.Date(paste(df$Week, df$Year, 'Sun'), '%U %Y %a')
#[1] "2019-01-06" "2019-01-13" "2020-01-05" "2020-01-05"

推荐阅读