mean()警告:参数不是数字或逻辑:返回NA

use*_*738 37 r

我有一个包含两列的数据框.当我尝试计算时mean,我收到此消息:

[1] NA
Warning message:
In mean.default(results) : argument is not numeric or logical: returning NA`
Run Code Online (Sandbox Code Playgroud)

其中'结果'是我的数据集.有关解决这个问题的任何建议吗?

mne*_*nel 48

从R 3.0.0起,mean(<data.frame>)它已经不存在(并且传递一个data.frame mean将给出你所说的错误)

数据框是具有唯一行名的相同行数的变量列表,给定类"data.frame".

在您的情况下,结果有两个变量(如果您的描述是正确的).您可以使用以下任何一种方法获取列均值

lapply(results, mean, na.rm = TRUE)
sapply(results, mean, na.rm = TRUE)
colMeans(results, na.rm = TRUE)
Run Code Online (Sandbox Code Playgroud)


Kei*_*ark 12

如果你只是想知道它的意思,你可以使用

summary(results)
Run Code Online (Sandbox Code Playgroud)

它会为您提供比预期更多的信息.

ex)Mininum值,1st Qu.,Median,Mean,3rd Qu.最大值,NA数量.

此外,如果要获得每列的平均值,只需使用下面的方法即可.

mean(results$columnName, na.rm = TRUE)
Run Code Online (Sandbox Code Playgroud)

这将返回平均值.(您必须将'columnName'更改为您的变量名称