【发布时间】:2016-09-27 12:58:31
【问题描述】:
从网上和这个组中搜索,似乎这应该可行:
> mean(r_lab$ozone, na.rm=TRUE)
但是,我得到的是:
[1] NA
Warning message:
In mean.default(r_lab$ozone, na.rm = TRUE) :
argument is not numeric or logical: returning NA
这是数据集中该列的内容:
> r_lab$Ozone
[1] 41 36 12 18 NA 28 23 19 8 NA 7 16 11 14
[15] 18 14 34 6 30 11 1 11 4 32 NA NA NA 23
我有点慌张。
【问题讨论】:
-
class(r_lab$ozone)的结果是什么? -
请添加reproducible example 供人们使用。当我将您的值分配给一个向量并运行您的代码时,我得到一个平均且没有错误。
-
它可能是一个因子列。转换为数字,它会工作。即
mean(as.numeric(as.character(r_lab$ozone)), na.rm=TRUE) -
@ZheyuanLi 是的,确实如此,但警告信息通常与
mean(factor(1:5)) [1] NA Warning message: In mean.default(factor(1:5)) : argument is not numeric or logical: returning NA等因素一起出现 -
等等,你在第一个写了
ozone,在最后一个写了Ozone。您是否有两列同名但大写不同?