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