我有一个数据框,称为“ dataall”,其中除其他外,它的时间值列“ Times”带有AM / PM指示,类字符为:
dataall$Time[1:10]
[1] "12:50 AM" "1:50 AM" "2:50 AM" "3:50 AM" "5:20 AM"
[6] "5:50 AM" "6:20 AM" "6:50 AM" "7:20 AM" "7:50 AM"
我希望数据为24小时格式。 阅读一些帖子后,我做了以下尝试:
1: dataall $ time24h <-as.POSIXct(dataall $ Time,format ='%I:%M%p')
2: dataall $ time24h <-format(strptime(dataall $ Time,“%I:%M%p”),format =“%H:%M”)
但是我收到NAs
答案 0 :(得分:0)
您可以尝试使用lubridate软件包中的parse_date_time
功能
v1 <- c("12:50 AM", "1:50 AM", "2:50 AM", "3:50 AM", "5:20 AM", "5:50 AM", "6:20 AM", "6:50 AM", "7:20 AM", "7:50 AM", "7:50 PM")
x <- lubridate::parse_date_time(v1,'H:M p')
format(x, format = '%H:%M')
#[1] "00:50" "01:50" "02:50" "03:50" "05:20" "05:50" "06:20" "06:50" "07:20" "07:50" "19:50"
如果存在语言环境问题,请查看parse_date_time
的帮助以获取一些建议。