所以我有这个载体:
x
[1] 76 89 78 50 84 56 29 53 32 68
112 Levels: 0 1 10 100 101 102 103 104 105 106 107 108 109 11 110 12 13 ... eta
为什么会这样?
[1] NA
Warning message:
In mean.default(x) : l'argomento non è numerico o logico: restituisco NA
答案 0 :(得分:6)
看起来x
是一个因素。将因子转换为数字时有一个问题。你需要使用:
mean(as.numeric(as.character(x)), na.rm=TRUE)
如果您没有先转换为角色,您将获得基本因素代码。
答案 1 :(得分:0)
看起来x
是一个分类变量 - 请尝试
mean(as.numeric(as.character(x)))
(根据詹姆斯指出,如果没有as.character
,你会得到因子代码:
x <- as.factor(10:20)
as.numeric(x)
[1] 1 2 3 4 5 6 7 8 9 10 11
离开na.rm=TRUE
,因为虽然更安全,却没有引起问题)
答案 2 :(得分:0)
除了更改为数值之外,当您使用mean
函数时,请确保指定na.rm=TRUE
,以防向量中包含NA
值。否则,它会显示您看到的警告。