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

如何解决R语言中difftime()函数的objectnotfound错误

解决R语言计算时间差时的"object ended_at not found"错误

你的代码存在几个关键错误,导致了该报错,以下是修正方案及原因说明:

代码中的错误点

  • 函数名错误:R语言大小写敏感,计算时间差的正确函数是difftime(),而非你写的Dfftime()。
  • 数据框名称错误:all-trips会被R解析为all减trips的运算,而非数据框名称,你需要使用正确的命名all_trips(下划线连接)。
  • 列引用错误:&是逻辑与运算符,不能用来引用数据框的列,正确的列引用方式是$或[[ ]]。

修正后的代码

基础计算版(生成单独的时间差对象)

# 计算时间差,可通过units参数指定单位,比如"mins"分钟、"hours"小时、"days"天
time_diff <- difftime(all_trips$ended_at, all_trips$started_at, units = "mins")

新增列到原数据框

如果想把时间差作为新列直接添加到all_trips中:

all_trips$duration <- difftime(all_trips$ended_at, all_trips$started_at, units = "hours")

额外检查步骤

若修正后仍报错,需确认:

  • 输入ls()查看当前环境中是否存在all_trips数据框。
  • 确认ended_at和started_at是日期时间类型,若为字符型需先转换:
    # 根据你的时间格式调整format参数,示例格式为"年-月-日 时:分:秒"
    all_trips$started_at <- as.POSIXct(all_trips$started_at, format = "%Y-%m-%d %H:%M:%S")
    all_trips$ended_at <- as.POSIXct(all_trips$ended_at, format = "%Y-%m-%d %H:%M:%S")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 17:39:53