如何解决当我输入中缺少lubridate :: mdy时,为什么要添加日期?
我故意在这段代码中忽略这一天,并期望它失败,返回警告或返回不完整的记录。
txt <- "January 2010"
lubridate::mdy(txt)
输出为“ 2010-01-20”。如果不是我的输入,为什么它包含“ 20”?该值背后的逻辑是什么?
解决方法
它与解析的顺序有关。根据{{1}}
对于异构日期格式,ymd()系列根据输入向量的子集猜测格式。如果输入向量包含许多缺失值或非日期字符串,则子集可能不包含有意义的日期
原始字符串包括月份和后跟4位数字的年份,并且- does_it_have_365_1s [1,1,1];
> val it = false : bool
是?mdy
,mdy
month
和day
可以是2位数字或4位数字。现在,有一个混乱,它将2位数字的年份选择为“ 10”,而将日期解析为“ 20”。相反,如果我们添加一天然后使用year
,它将被解析为4位数的年份
year
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。