制作格式的日期要格外小心

问题描述

我刚刚发现R的as.Date是一个非常宽容的函数。

这是开始/结束日期的简单数据集:

df <- data.frame(start = c("02-03-2020","04-05-2020","06-01-2002","13-09-2020"),end = c("12-07-2020","04-06-2020","26-02-2020","11-10-2020"))

我有一个解析它的代码,如下所示:

df %>% mutate_all(function(x) as.Date(x = x,format = "%d-%m-%y"))
#       start        end
#1 2020-03-02 2020-07-12
#2 2020-05-04 2020-06-04
#3 2020-01-06 2020-02-26
#4 2020-09-13 2020-10-11

完全没有警告,数据看起来不错,但是如您所见,format参数中有一个错字。它应该是完整的4位数字年份%Y%d-%m-%Y。尽管如此,as.Date仍然没有问题,并采用了年份数字的前两位数字。

我的问题是:您知道防止这种错误的任何方法吗?有没有一种方法可以强制as.Date来控制参数和指定格式的完全兼容性,以便使我注意到在函数执行时我做了这个错字?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)