在具有不同格式默认值的 r 中使用 parse_date

Using parse_date in r with different format defaults

提问人:James O'Malley 提问时间:4/28/2023 更新时间:4/28/2023 访问量:62

问:

我在 R 中的 parsedate 包中遇到了一个小问题,我有一个大型数据集,其中包含很多凌乱的日期,它处理得非常好。但是,对于不明确的日期,即日期和月份都< 12 的日期,将默认将它们解析为 mm/dd/yyyy。在这些情况下,我宁愿它假设 dd/mm/yyyy......有没有人对此感到高兴?

为了清楚起见,我还尝试了润滑剂和作为。日期,但由于我的数据中有很多不同的混乱日期格式,它们不是可行的选择。

我运行的简化代码:

parse_date("09-06-2021")

作为输出给出,而我想要"2021-09-06 UTC""2021-06-09 UTC"

提前致谢!

R 日期 解析

评论

1赞 Rui Barradas 4/28/2023
尝试。lubridate::dmy()
1赞 r2evans 4/28/2023
似乎不允许控制用于尝试解析的单个格式。如果你先验地知道格式是什么,我建议使用或(取决于你的目标类)或使用其中一个函数,如RuiBarradas建议的那样。如果您不知道或格式混合,那么您可能会从自主开发的解决方案中受益:stackoverflow.com/a/52319606/3358272(日期)、stackoverflow.com/a/70304571/3358272(POSIXct)parse_dateas.Dateas.POSIXtlubridge::dmy
0赞 James O'Malley 4/28/2023
谢谢!恐怕它不允许控制特定的格式......不幸的是,我不知道具体的格式,或者至少,当我向这个数据集添加新数据时,我不会。这可能只是采取新的观察结果并定制编码解析的情况......
1赞 r2evans 4/28/2023
此外,两者都作为。POSIXct(因为你在问题中提到)和 as。 日期(因为它看起来像一个日期)支持 。UTCtryFormats

答: 暂无答案