【发布时间】:2020-02-03 16:58:56
【问题描述】:
我有一个日期列,但它一直写着,例如:“31-12-2019”
当我尝试使用 lubridate 中的 day() 函数提取日期时:day("31-12-2019") 它返回“19”而不是“31”
PS:我已经尝试使用 as.Date 更改为列类型,但它会重新排序我的数据,我不希望这样
【问题讨论】:
我有一个日期列,但它一直写着,例如:“31-12-2019”
当我尝试使用 lubridate 中的 day() 函数提取日期时:day("31-12-2019") 它返回“19”而不是“31”
PS:我已经尝试使用 as.Date 更改为列类型,但它会重新排序我的数据,我不希望这样
【问题讨论】:
我们需要先转换成Date类,然后再应用day
library(lubridate)
day(as.Date("31-12-2019", "%d-%m-%Y"))
#[1] 31
或dmy
day(dmy("31-12-2019"))
【讨论】:
day(dmy("31-12-2019")),因为OP已经在加载包lubridate。