将H M S转换为R中的H:mm
我有一个由以下格式的时间组成的数据帧:将H M S转换为R中的H:mm,r,R,我有一个由以下格式的时间组成的数据帧: Time 9H 30M 0S 10H 0M 0S 10H 30M 0S 我想把这个转换成 Time 9:30 10:00 10:30 我不知道怎么做。有人能帮我吗 编辑: 假设它存储在df中,那么我使用: X <- X %>% mutate(hour = hour(Time), minute = minute(Time)) %>% unite(time, hour, minute, sep = "
Time
9H 30M 0S
10H 0M 0S
10H 30M 0S
我想把这个转换成
Time
9:30
10:00
10:30
我不知道怎么做。有人能帮我吗
编辑:
假设它存储在df中,那么我使用:
X <- X %>%
mutate(hour = hour(Time),
minute = minute(Time)) %>%
unite(time, hour, minute, sep = ":")
X%
突变(小时=小时(时间),
分钟=分钟(时间))%>%
统一(时间、小时、分钟、九月=“:”)
这给了我想要的输出
然而,我想知道是否有更快的方法来获得所需的结果。您可以将其转换为
POSIXct
,并使用格式
获得所需的输出
format(as.POSIXct(x$Time, format="%HH %MM %SS"), "%H:%M")
#[1] "09:30" "10:00" "10:30"
数据:
x
x <- data.frame(Time = c("9H 30M 0S", "10H 0M 0S", "10H 30M 0S"))