使用 dmy_hms 将因子值转换为 POSIXct 将一半的值转换为 NA

Convert factor values to POSIXct with dmy_hms turns half of the values to NA

我的目标是将我的数据集中的日期和时间列(两个因子值)连接到结构 POSIXct 的一列。列如下所示:

  Date      Time

1 11.05.2016 09:45:00

2 11.05.2016 09:46:00

3 11.05.2016 09:47:00

4 11.05.2016 09:49:00

我首先尝试的是:

D1 = paste(D$Date, D$Time) 

Date_Time = as.POSIXct(D1, format='%d.%m.%y %H:%M:%S')

as.data.frame(Date_Time)

我得到的是每行中的 Na 值。我找不到原因,所以我尝试了使用 lubridate 包的不同方法:

Date_Time = mdy_hms(D1,tz="")

Date_Time = as.data.frame(Date_Time)

控制台界面returns:“134021解析失败”,大概是我数据的一半。转换后的数据几乎总是一个月前两周的日期和时间。我的问题是,为什么它将一半的值转换为 NA,我该如何解决这个问题?为什么它对 as.POSIXct 命令根本不起作用?

谢谢。

对于 4 位数年份,您应该使用 Y 而不是 y

Date_Time = as.POSIXct(D1, format='%d.%m.%Y %H:%M:%S')

paste 功能之后,如果您需要时间也可以使用此功能

Date_Time<- strptime(Date, "%d.%m.%Y %H:%M:%S")