为什么 lubridate 不能在 tbl_df 中转换日期?

Why can't lubridate convert dates in a tbl_df?

我有一个名为 x 的变量,它是这样的:

x <- structure(list(Time = c("2002-05-07 21:00", "2002-05-08 21:00", 
                             "2002-05-09 21:00", "2002-05-10 21:00", 
                             "2002-05-11 21:00", "2002-05-13 21:00", 
                             "2002-05-14 21:00", "2002-05-15 21:00",
                             "2002-05-16 21:00", "2002-05-17 21:00")), 
               .Names = "Time", class = c("tbl_df", "data.frame"), 
               row.names = c(NA, -10L))

现在,我想将 x 中的字符串转换为日期,因为 x[1,1] %>% lubridate::ymd_hm() 给出了单个元素的预期结果,我认为以下方法可以解决问题:

x %>% lubridate::ymd_hm()

但它不起作用(结果为 NA)并且我收到以下警告:

    Warning message:
    All formats failed to parse. No formats found.

为什么 x %>% lubridate::ymd_hm() 没有按我预期的方式工作,我该怎么做才能获得我想要的结果?

函数 mutate 有效。

x %>% mutate(Time = ymd_hm(Time))

这成功了(有一个我不明白的警告,但我怀疑该对象的行名可能与它有关。):

x %>% lubridate::ymd_hm(.$Time)
 [1] NA                        "2002-05-07 21:00:00 UTC" "2002-05-08 21:00:00 UTC"
 [4] "2002-05-09 21:00:00 UTC" "2002-05-10 21:00:00 UTC" "2002-05-11 21:00:00 UTC"
 [7] "2002-05-13 21:00:00 UTC" "2002-05-14 21:00:00 UTC" "2002-05-15 21:00:00 UTC"
[10] "2002-05-16 21:00:00 UTC" "2002-05-17 21:00:00 UTC"

x[1,1] %>% lubridate::ymd_hm() 
#[1] "2002-05-07 21:00:00 UTC"