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

R语言中统计数据框difftime类型列负值遇问题

问题原因与解决办法

核心问题

你的duration列是difftime类型,当执行trips_2023_tidy$duration < 0时,若原列存在缺失值(NA),生成的逻辑向量会包含NA值。而sum()函数默认会保留NA参与计算,最终结果返回NA。

另外,虽然你用round()处理了时间差,但difftime类型的比较本身是支持的,所以核心矛盾还是缺失值的存在。

解决方法

方法1:忽略缺失值统计

直接在sum()中添加na.rm = TRUE参数,跳过NA值计算:

sum(trips_2023_tidy$duration < 0, na.rm = TRUE)

方法2:转换为数值型后统计

如果不需要保留difftime的时间单位属性,可以先将列转为数值型再统计:

sum(as.numeric(trips_2023_tidy$duration) < 0, na.rm = TRUE)

验证步骤

可以先确认duration列中是否存在缺失值:

sum(is.na(trips_2023_tidy$duration))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 07:43:13