You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将R数据框中MM:SS格式字符串转换为hms::as_hms时间格式

报错原因

hms::as_hms() 默认要求输入的字符时间为完整的HH:MM:SS格式,你的tm列仅包含两段时间数值,缺少默认格式要求的某一段,无法直接匹配转换规则,因此抛出有损转换的报错。

正确转换方法

你可以根据自己时间串的实际含义选择对应方案:

  • 如果你的tm是MM:SS(分:秒)格式,补全小时位后转换:
library(dplyr)
library(hms)

df %>% 
  mutate(tm = hms::as_hms(paste0("00:", tm)))
  • 如果你的tm是HH:MM(时:分)格式(和你给出的目标输出值对应),补全秒位后转换:
library(dplyr)
library(hms)

df %>% 
  mutate(tm = hms::as_hms(paste0(tm, ":00")))
  • 也可以搭配lubridate包的时间解析函数直接处理,无需手动补位:
library(dplyr)
library(hms)
library(lubridate)

# 解析为分:秒
df %>% mutate(tm = hms::as_hms(ms(tm)))
# 解析为时:分
df %>% mutate(tm = hms::as_hms(hm(tm)))

内容的提问来源于stack exchange,提问作者littleworth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:57:00