使用R编程将包含AM/PM的因子转换为24小时HH:MM时间格式

Convert factor containing AM/PM to 24 hours HH:MM time format using R programming

我用R.

应该不是什么难事。我所缺少的只是我猜的语法。 我有一个名为 'twyrs' 的数据框,其中一列是时间列。 当我执行 class(twyrs$TIME) 时,它显示 'factor'。 时间格式为“9:00 PM”、“00:15 AM”等。

我只需要分别采用“21:00”和“00:15”格式的时间。即 24 小时 HH MM 格式。我的时间没有任何秒数。只有小时和分钟。

我试过了

图书馆(时间)
x <- chron(times=twyrs$TIME)

有什么帮助吗?

您需要修复“00:15 AM”时间字符串。使用 gsub("00:", "12:", x, fixed = TRUE)00 替换为 12。那么你可以这样做:

x <- factor(c("9:00 PM","00:15 AM", "12:15 AM" ))
y <- as.POSIXct(x, format = "%I:%M %p", tz = "GMT") #read help("strptime")

library(chron)
times(strftime(y, format = "%H:%M:%S", tz = "GMT"))
#[1] 21:00:00 <NA>     00:15:00