51

2 つの列を持つデータ フレームがあります。を計算しようとするとmean、次のメッセージが表示されます。

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

「結果」は私のデータセットです。この問題を回避するためのアドバイスはありますか?

4

3 に答える 3

75

R 3.0.0以降mean(<data.frame>)は廃止されました(そしてdata.frameを渡すとmean、あなたが述べたエラーが表示されます)

データフレームは、クラス「data.frame」を指定すると、一意の行名を持つ同じ行数の変数のリストです。

あなたの場合、結果には2つの変数があります(説明が正しい場合)。次のいずれかを使用して、列の平均を取得できます。

lapply(results, mean, na.rm = TRUE)
sapply(results, mean, na.rm = TRUE)
colMeans(results, na.rm = TRUE)
于 2013-10-31T05:40:18.993 に答える
20

平均を知りたいだけなら、

summary(results)

予想以上の情報を提供してくれます。

ex) 最小値、第 1 四半期、中央値、平均値、第 3 四半期 最大値、NA の数。

さらに、各列の平均値を取得したい場合は、以下の方法を使用するだけです。

mean(results$columnName, na.rm = TRUE)

それは平均値を返します。(「columnName」を変数名に変更する必要があります

于 2013-10-31T08:54:01.363 に答える