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

时间:2017-05-16 10:46:01

标签: r na posixct

我的目标是将我的数据集中的日期和时间列(两个因子值)连接到结构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)

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

感谢。

2 个答案:

答案 0 :(得分:1)

您应该使用Y代替y 4位数年:

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

答案 1 :(得分:0)

paste函数使用后,如果您还需要时间

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