如何将R中数据框的部分日期转换为日期列?

时间:2020-10-28 17:38:38

标签: r lubridate

所以假设我有一个df,例如:

   <chr>          <chr>            <chr>
  Category        Date             Type
1 x               Jan 2              g
2 x2              Jan 5              a
3 x3              Mar 7              b
4 x4              Apr 9              c 
5 x5              Dec 12             o

我将如何使用lubridate库将角色日期转换为实际日期?

我一直在尝试使用lubridate,但不确定如何将char转换为数字,例如将Jan变成1,将Mar变成3或直接将它们转换为mdy()函数范围,因为它们是部分日期。

2 个答案:

答案 0 :(得分:2)

只需提供一年:

x <- c("Jan 2")
as.Date(paste0("2020 ", x), "%Y %b %d")
# "2020-01-02"

答案 1 :(得分:1)

我们可以使用

library(lubridate)
mdy(x, truncated = 2)
#[1] "2020-01-02"

数据

x <- "Jan 2"