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

R语言:如何将字符型患者等待时长h:m:s转为数值型秒数?

将h:m:s格式的等待时长转换为秒数的解决方案

错误原因

你之前的代码存在语法错误,chron函数的参数传递写法有误,正确的参数名是times;且直接调用chron得到的是时间对象,并非秒数,需要进一步转换。

方法一:修正chron包的用法

library(chron)
# 解析字符型时间为chron时间对象
wait_time_obj <- chron(times = df$Wait.Time)
# 将时间对象转换为秒数:chron以一天的比例存储时间,乘以86400(一天的总秒数)得到结果
df$Wait.Time <- as.numeric(wait_time_obj) * 86400

方法二:Base R原生方法(无需额外包)

# 拆分时间字符串为小时、分钟、秒三部分
time_components <- strsplit(df$Wait.Time, ":")
# 遍历计算每一行的总秒数
df$Wait.Time <- sapply(time_components, function(parts) {
  as.numeric(parts[1]) * 3600 + as.numeric(parts[2]) * 60 + as.numeric(parts[3])
})

方法三:使用lubridate包(简洁直观)

library(lubridate)
# hms函数解析时间字符串为时间间隔对象,转成数值直接得到秒数
df$Wait.Time <- as.numeric(hms(df$Wait.Time))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 07:44:58