首页 > 解决方案 > 无法将数据集解析为日期格式

问题描述

在尝试合并它们之前,我目前正在将 3 个不同的数据集转换为日期格式。lubridate前两个我用来解析日期列没有问题

COVID19$Date <- lubridate::ymd(COVID19$Date)
TESTS$Date <- lubridate::ymd(TESTS$Date) 

但是,当我使用相同的lubridate功能时,对于第三个数据集,我收到以下警告

RECOVERED_tidy <- lubridate::ymd(RECOVERED_tidy$Date)
Warning message:
All formats failed to parse. No formats found. 

该数据集先前已整理,因此所有日期列都使用以下方法合并为一列:

RECOVERED_tidy <- pivot_longer(RECOVERED, starts_with("X"), names_to = "date", values_to = "recovered")

这就是它不使用相同功能的原因吗?

谢谢你的帮助!

编辑:

恢复数据样本

 Country     Date        Recovered
  <fct>       <chr>           <int>
1 Afghanistan X2020.01.22         0
2 Afghanistan X2020.01.23         0
3 Afghanistan X2020.01.24         0
4 Afghanistan X2020.01.25         0
5 Afghanistan X2020.01.26         0
6 Afghanistan X2020.01.27         0

标签: rlubridate

解决方案


删除'X'数据中的额外存在,您可以使用sub.

RECOVERED_tidy$Date <- lubridate::ymd(sub('X', '', RECOVERED_tidy$Date))

您也可以as.Date在基础 R 中使用:

RECOVERED_tidy$Date <- as.Date(RECOVERED_tidy$Date, 'X%Y.%m.%d')

推荐阅读