使用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
我用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