任何人都可以解释为什么"沉默= 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.
R版本3.4.0,lubridate版本1.6.0
答案 0 :(得分:1)
这里,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函数中传递vector:
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"
所以在这里,使用silent=T
,你告诉lubridate silent=T
是一个要解析的向量。因此NA。
答案 1 :(得分:0)
在格式不同的情况下,我遇到了这个问题。请注意所有日期都遵循相同的格式。使用parse_date_time()
可以解决此问题。
parse_date_time(df$date, c("y/m/d","y/m/d HMS","m/d/y","m/d/y HM"))
请确保列表中包含日期格式。