2016-12-02 686 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)