我有一个包含两列的数据框。当我尝试计算mean
时,我收到以下消息:
[1] NA
Warning message:
In mean.default(results) : argument is not numeric or logical: returning NA`
其中“结果”是我的数据集。关于解决这个问题的任何建议?
我有一个包含两列的数据框。当我尝试计算mean
时,我收到以下消息:
[1] NA
Warning message:
In mean.default(results) : argument is not numeric or logical: returning NA`
其中“结果”是我的数据集。关于解决这个问题的任何建议?
从 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)
如果你只想知道平均值,你可以使用
summary(results)
它会给你比预期更多的信息。
ex) 最小值、第 1 曲、中位数、平均值、第 3 曲。最大值,NA 的数量。
此外,如果您想获得每列的平均值,您可以简单地使用下面的方法。
mean(results$columnName, na.rm = TRUE)
这将返回平均值。(您必须将 'columnName' 更改为您的变量名
如果您未使用mean()
函数在 data.frame 列中使用正确的(数字)格式的数据,则会出现相同的错误。因此,请使用str(data.frame&column)
函数检查您的数据以查看您拥有的数据类型,并在必要时将其转换为数字格式。例如,如果您的数据是字符,则将其转换为as.numeric(data.frame$column)
,或作为因子使用as.numeric(as.character(data.frame$column))
。mean 函数不适用于数字以外的类型。