在 R 中格式化具有不一致日期格式的向量
Posted
技术标签:
【中文标题】在 R 中格式化具有不一致日期格式的向量【英文标题】:Formatting a vector with inconsistent date formats in R 【发布时间】:2022-01-04 21:05:00 【问题描述】:我是 R 新手,正在清理数据表,csv 有一个名为 Contract.Valid.Until
的列
df$Contract.Valid.Until <- c("2020", "2021", "2019", "30-Jun-19", "2022", "18-Aug-2021")
我现在想将其转换为统一的日期类型,我在 Stack Overflow 上找到了 Year 和 Dates 的函数,但没有找到如何组合它们,这是我找到的函数
df$Contract.Valid.Until <- lubridate::ymd(df$Contract.Valid.Until, truncated = 2L)
df$Contract.Valid.Until <- as.Date(df$Contract.Valid.Until, "%d-%b-%y")
如果有人能帮助我,我会很高兴:)
【问题讨论】:
【参考方案1】:也许parse_date
会起作用
library(parsedate)
parse_date(c("2020", "2021", "2019", "30-Jun-19", "2022", "18-Aug-2021"))
[1] "2020-01-01 UTC" "2021-01-01 UTC" "2019-01-01 UTC" "2019-06-30 UTC" "2022-01-01 UTC" "2021-08-18 UTC"
【讨论】:
您的解决方案适用于我给出的向量,但是当我在我的实际列(类字符)中尝试它时它不起作用。这是我收到的错误消息:警告:17885 解析失败。 row col 预期实际 1 -- 日期如 2021 2 -- 日期如 2022 如果解决方案适用于您提供的数据,则您未能提供适当的可重现示例。请与解析失败的列共享数据。 不,我的例子是正确的,解决方案也是正确的,我只有多个库,我的程序使用了错误的 parse_date 函数。我道歉,这是我的第一个 Stack Overflow 问题,也是我的第一个 R 项目,感谢你们的帮助以上是关于在 R 中格式化具有不一致日期格式的向量的主要内容,如果未能解决你的问题,请参考以下文章