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

问题描述

所以假设我有一个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()函数范围,因为它们是部分日期。

解决方法

只需提供一年:

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

我们可以使用

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

数据

x <- "Jan 2"