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

R语言sum()函数中rm.na参数的含义?为何计算结果异常?

为什么sum(0.5, rm.na= TRUE)会返回1.5?

核心原因很简单:sum()函数根本没有rm.na这个参数,你写的是笔误,正确的参数名是na.rm。

当你把rm.na=TRUE传给sum()时,R不会直接报错(除非开启严格参数检查),而是把这个命名参数当成额外的待求和元素处理——在R里,逻辑值TRUE会自动转换成数值1,FALSE则转成0。所以sum(0.5, rm.na=TRUE)本质上等价于sum(0.5, 1),计算结果自然是0.5+1=1.5。

正确用法回顾

sum()的na.rm参数才是用来忽略NA值的:比如你有向量vec <- c(1, NA, 3),执行sum(vec, na.rm=TRUE)会返回4(自动剔除了NA);如果不加这个参数,结果会是NA。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 20:02:01