为什么lubridate::ymd_hms函数在;“沉默”;参数设置为真?

为什么lubridate::ymd_hms函数在;“沉默”;参数设置为真?,r,lubridate,R,Lubridate,有谁能解释为什么“silent=T”参数会触发警告和NA观察,并告诉我如何避免这种情况 x <- c("2010-04-14-04-35-59", "20100401120000") ymd_hms(x, silent=T) [1] "2010-04-14 04:35:59 UTC" "2010-04-01 12:00:00 UTC" NA Warning message: 1 failed to parse. x在这里,lubridat

有谁能解释为什么“silent=T”参数会触发警告和NA观察,并告诉我如何避免这种情况

x <- c("2010-04-14-04-35-59", "20100401120000")
ymd_hms(x, silent=T)
[1] "2010-04-14 04:35:59 UTC" "2010-04-01 12:00:00 UTC" NA                       

Warning message:
1 failed to parse. 

x在这里,lubridate尝试将
的“silent=T”
作为日期格式进行评估,删除消息的参数为静默

lubridate::ymd_hms(x, quiet=TRUE)
[1] "2010-04-14 04:35:59 UTC" "2010-04-01 12:00:00 UTC" 
这是因为可以在lubridate函数中传递向量:

x <- c("2010-04-14-04-35-59", "20100401120000")
y <- c("2010-04-14-04-35-59", "20100401120000")
z <- c("2010-04-14-04-35-59", "20100401120000")

lubridate::ymd_hms(x, y, z)
[1] "2010-04-14 04:35:59 UTC" "2010-04-01 12:00:00 UTC"
[3] "2010-04-14 04:35:59 UTC" "2010-04-01 12:00:00 UTC"
[5] "2010-04-14 04:35:59 UTC" "2010-04-01 12:00:00 UTC"

x在格式不同的情况下,我面临这个问题。请注意所有日期都采用相同的格式。使用
parse\u date\u time()
可以解决此问题

parse_date_time(df$date, c("y/m/d","y/m/d HMS","m/d/y","m/d/y HM"))

请确保列表中包含日期格式

silent
不是
ymd\u hms
的参数。你想要ymd(x,quiet=TRUE)
吗?啊-对不起-当然-谢谢