使用 lubridate 将格式从 <chr> 更改为 <date> 会更改年份

问题描述 投票:0回答:1

我对 R 还很陌生,我正在尝试更改日期格式为数据类型 的列,我希望它是

我已经使用 Lubridate 尝试了以下块:

activity_level$ActivityDay <- as.Date(activity_level$ActivityDay, "%m/%d/%Y")

但是它将日期年份从 2016 年更改为 2020 年。

示例:

4/12/2016 变为 2020-04-12 而不是 2016-04-12

所有数据帧都会发生这种情况,我不明白为什么。我无法找到似乎有效的答案。我的“Y”是大写的。日期和月份保持正确。

我什至尝试过:

activity_level$ActivityHour=as.POSIXlt(activity_level$ActivityHour, format="%m/%d/%Y")

但同样的事情发生了。数据中的所有日期应为 2016 年,但全部转换为 2020 年。

有什么建议吗?谢谢!

 

r lubridate
1个回答
0
投票

试试这个:

activity_level <-
  activity_level |>
  mutate(
    ActivityDay = readr::parse_date(
      ActivityDay,
      format = "%m/%d/%Y"
    )
  )
© www.soinside.com 2019 - 2024. All rights reserved.