首页 > 解决方案 > 从一些观察中删除秒数以使用 R 以 HM 格式工作

问题描述

我有一个名为“时间”的专栏,其中有一些观察结果是“小时:分钟:秒”,而其他的只有“小时:分钟”。我想删除秒数,只剩下几小时和几分钟。到目前为止,我已经加载了lubridate包并尝试了:

format(data$time ,format = "%H:%M")

但没有发生任何变化。

与:

data$time <- hm(data$time)

所有带有 h:m:s 的观察结果都变成了 NA

我应该怎么办?

标签: rtimeseconds

解决方案


您可以使用parse_date_timefromlubridate将时间转换为POSIXct格式,然后用于format保留您需要的信息。

data <- data.frame(time = c('10:04:00', '14:00', '15:00', '12:34:56'))
data$time1 <- format(lubridate::parse_date_time(x, c('HMS', 'HM')), '%H:%M')
data

#      time time1
#1 10:04:00 10:04
#2    14:00 14:00
#3    15:00 15:00
#4 12:34:56 12:34

推荐阅读