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

如何将DataFrame列中的秒数转换为hms格式并解决代码返回NA问题

问题原因

你代码的核心错误是给数据框列名duration额外添加了双引号,此时seconds_to_period()接收的输入是固定字符串"duration",而非duration字段存储的秒数数值,自然返回无效NA值。

修正代码

直接去掉duration外侧的引号即可:

a %>% 
  mutate(hms = seconds_to_period(duration))

补充异常处理

如果执行上述代码后仍返回NA,可以先确认duration字段的存储类型是否为数值型,若为字符型需要先做类型转换:

a %>% 
  mutate(
    # 先把duration转为数值类型
    duration = as.numeric(duration),
    hms = seconds_to_period(duration)
  )

如果需要输出标准HH:MM:SS格式的字符串,可以搭配hms包的转换函数使用:

library(hms)
a %>% 
  mutate(
    duration = as.numeric(duration),
    hms = as_hms(seconds_to_period(duration))
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 07:27:01