繁体   English   中英

为什么colSums中出现错误(x,na.rm = T):R中的'na.rm'参数无效

[英]Why Error in colSums(x, na.rm = T) : invalid 'na.rm' argument in R

我尝试计算我的数据x的每列的总和。 但我总是遇到这个错误

"Error in colSums(x, na.rm = T) : invalid 'na.rm' argument"

为什么na.rm参数在这种情况下不起作用? 困惑...

x <- cbind(x1 = 3, x2 = c(4:1, 2:5))
x[3, ] <- NA; x[4, 2] <- NA
rowSums(x)
colSums(x, na.rm=T)

您收到错误,因为T的值已更改为不可解释为逻辑(TRUE或FALSE)的参数,可以是NA或字符。 在我看来是一个坏习惯使用TF 为了避免错误:

colSums(x, na.rm=TRUE)

TRUE (或FALSE )不能被覆盖,作为保留字。

只是为了好玩,你可以尝试:

T = FALSE
F = TRUE

colSums(x, na.rm=T)
colSums(x, na.rm=F)

我可以通过将通常的T值重写为NA来重新创建你的bug:

> T=NA
> colSums(all,na.rm=T)
Error in colSums(all, na.rm = T) : invalid 'na.rm' argument

所以最有可能的是,你(或一个有趣的同事?)已经将代码中某处的变量T定义为等于NA 要撤消它,只需输入:

T=TRUE

或更好:

rm(T)

永远不要忘记R并不真正了解T =>它只是为了方便启动而定义的速记,仅此而已。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM