首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么colSums(x,na.rm = T)中的错误:R中无效的'na.rm‘参数

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

Stack Overflow用户
提问于 2014-03-10 01:38:09
回答 2查看 4.2K关注 0票数 3

我试图为我的数据x计算每一列的和。

代码语言:javascript
复制
"Error in colSums(x, na.rm = T) : invalid 'na.rm' argument"

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

代码语言:javascript
复制
x <- cbind(x1 = 3, x2 = c(4:1, 2:5))
x[3, ] <- NA; x[4, 2] <- NA
rowSums(x)
colSums(x, na.rm=T)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-10 01:40:49

我可以通过将T的通常值重写为等于NA来重新创建您的bug。

代码语言:javascript
复制
> T=NA
> colSums(all,na.rm=T)
Error in colSums(all, na.rm = T) : invalid 'na.rm' argument

所以很有可能,你(或者一个有趣的同事?)将代码中的变量T定义为等于NA。要撤消它,只需键入:

代码语言:javascript
复制
T=TRUE

或更好:

代码语言:javascript
复制
rm(T)

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

票数 3
EN

Stack Overflow用户

发布于 2014-03-10 01:52:34

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

代码语言:javascript
复制
colSums(x, na.rm=TRUE)

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

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

代码语言:javascript
复制
T = FALSE
F = TRUE

colSums(x, na.rm=T)
colSums(x, na.rm=F)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22290737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档