R lubridate guess_格式复制向量

R lubridate guess_格式复制向量,r,lubridate,R,Lubridate,你好,亲爱的博学的大师和Stackoverflowers 我正在尝试使用lubridate的guess_格式,在一系列数据集中一致地格式化日期。但是,这会连接列的两个实例。下面是一个简单的例子: library(lubridate) x <- c("2014-01-18 00:00:00","2015-03-01 00:00:00","2014-05-05 00:00:00") y <- as.Date(x, format = guess_formats(x, "Ymd HMS"))

你好,亲爱的博学的大师和Stackoverflowers

我正在尝试使用lubridate的guess_格式,在一系列数据集中一致地格式化日期。但是,这会连接列的两个实例。下面是一个简单的例子:

library(lubridate)
x <- c("2014-01-18 00:00:00","2015-03-01 00:00:00","2014-05-05 00:00:00")
y <- as.Date(x, format = guess_formats(x, "Ymd HMS"))

任何指针都会很棒

问题在于
guess\u格式

如果运行
guess_formats(x,“Ymd HMS”)
返回的不是3种格式,而是6种格式

             YOmdHMS              YOmdHMS              YOmdHMS               YmdHMS               YmdHMS               YmdHMS 
"%Y-%Om-%d %H:%M:%S" "%Y-%Om-%d %H:%M:%S" "%Y-%Om-%d %H:%M:%S"  "%Y-%m-%d %H:%M:%S"  "%Y-%m-%d %H:%M:%S"  "%Y-%m-%d %H:%M:%S" 
现在,您将6种格式传递给as.Date,它将处理这些格式并循环使用x来匹配。如果您只是将这6种格式粘贴到as.Date中,您可以看到y向量的结果

as.Date(x, format = c("%Y-%Om-%d %H:%M:%S", "%Y-%Om-%d %H:%M:%S", "%Y-%Om-%d %H:%M:%S" , "%Y-%m-%d %H:%M:%S",  "%Y-%m-%d %H:%M:%S",  "%Y-%m-%d %H:%M:%S") 

[1] "2014-01-18" "2015-03-01" "2014-05-05" "2015-05-05" "2014-01-18" "2015-03-01"

显而易见的解决方案是使用
y我不知道为什么会发生这种情况,但我可以建议
library(随时);anydate(x)
作为替代方案?非常感谢,我会记住这一点,但是这些是团队使用的预先存在的脚本,并且lubridate目前在多个scrips中使用,因此如果可能的话,我想尝试找出导致它的原因。很高兴有人支持!使用
parse\u date\u time
怎么样?i、 e.
y我刚刚检查过,这在lubridate版本1.7.4中出现,但在lubridate版本1.5.6中没有出现,我想知道通知包开发人员这是否是一个可能的错误,以及如何通知?
as.Date(x, format = c("%Y-%Om-%d %H:%M:%S", "%Y-%Om-%d %H:%M:%S", "%Y-%Om-%d %H:%M:%S" , "%Y-%m-%d %H:%M:%S",  "%Y-%m-%d %H:%M:%S",  "%Y-%m-%d %H:%M:%S") 

[1] "2014-01-18" "2015-03-01" "2014-05-05" "2015-05-05" "2014-01-18" "2015-03-01"