R lubridate guess_格式复制向量
你好,亲爱的博学的大师和Stackoverflowers 我正在尝试使用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"))
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"