2016-12-02 687 views
-2

我导入一个名为“dataset1”的数据框,它有一列“O3”。我想计算O3的平均值。计算每列的平均值,R

mean(dataset1$O3) 

我曾尝试其他几个语法的版本,但它仍然提供了以下错误:

Warning message: In mean.default(O3) : argument is not numeric or logical: returning NA

我知道这是一种类型的问题,但我无法弄清楚。我该怎么办?

+0

请检查'STR(数据集)'这将是非数字。如果它是'factor'类,那么做'意思(as.numeric(as.character(dataset1 $ O3)))' – akrun

+0

@akrun谢谢。现在,它说“不适用警告消息: 意思是(as.numeric(as.character(dataset1 $ O3))):通过强制引入了NAs”我认为我需要先照顾缺失值。 – nil

+0

nil,'mean'也有'na.rm = TRUE',但除了警告信息是友好信息外,如果你有一些字符值,它会自动转换成NA'mean(as.numeric(as。字符(dataset1 $ O3)),na.rm = TRUE)' – akrun

回答

2

您可以看到R's documentation,看到您可以删除此警告,并在mean中添加na.rm=T作为参数。

na.rm
a logical value indicating whether NA values should be stripped before the computation proceeds.

生成的代码是:

mean(as.numeric(as.character(dataset1$O3)), na.rm = T)