無視するRにおける方法はあります「」私のデータで計算するときに平均/ SD /など

グレゴリー・スミス:

私はいくつかの列のために平均/ STD DEV /分/を計算し、最大する必要がある大規模なデータセットを持っています。データセットは使用しています「」値が対象のために不足しているとき意味します。平均値またはSD機能を実行する場合、この原因はNAを返すために、R。これを回避する簡単な方法はありますか?

私のコードはこれだけです

xCAL<-mean(longdata$CAL)
sdCAL<-sd(longdata$CAL)
minCAL<-min(longdata$CAL)
maxCAL<-max(longdata$CAL)

しかし、Rは、これらすべての変数にNAを返します。私は次のエラーを取得します

警告メッセージ:ではmean.default(longdata $ CAL):引数には、数値または論理的ではありません。戻っNA

グレゴリー・トーマス:

あなたはそれ上の任意の計算を行うことができるように、数値にデータを変換する必要があります。あなたが実行するとas.numeric、あなたが.に変換されますNA欠損値のための用途をR何です、。その後、機能のすべては、あなたは、引数取る言及na.rmするように設定することができますTRUE(RM)欠損値(NA)を削除します。

あなたのデータがある場合factor、あなたはそれを変換する必要がありcharacter、情報の損失を避けるために、まずこのFAQで説明したように

全体的に、安全のために、これを試してみてください。

longdata$CAL <- as.numeric(as.character(longdata$CAL))
xCAL <- mean(longdata$CAL, na.rm = TRUE)
sdCAL <- sd(longdata$CAL, na.rm = TRUE)
# etc

ノート行いna.rm関数の性質であるが-それはどこでも動作する魔法ではありません。あなたがのためのヘルプページを見れば?mean ?sd?minなど、あなたが表示されますna.rm引数が文書化。あなたは、一般的に欠損値を削除したい場合は、na.omit()機能がうまく動作します。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=377648&siteId=1