No.21419 NAが入った場合  【コロン】 2014/10/29(Wed) 11:32

いつもお世話になっております。

以前こちらでアドバイスをいただき以下の関数を作成いたしました。
天井効果,床効果を調べるための関数です。

screening <- function(x, y, z) {
means <- colMeans(x)
sds <- sapply(x, sd)
床 <- ifelse(means-sds < y, "床効果", "")
天井 <- ifelse(means+sds > z, "天井効果", "")
return(data.frame(平均値=means, 標準偏差=sds,
"平均値 - 標準偏差"=means-sds, "床効果"=床,
"平均値 + 標準偏差"=means+sds, "天井効果"=天井))
}

生データには,NAが含まれていまして,これを実行しますと,NAが含まれている質問項目はNAで返されてしまいます。NAを除いて計算するように改良をお願いできますでしょうか。お構いなければ,NAがいくつあるのかの結果を出力させていただけるとありがたいのですが。

よろしくお願いいたします。

No.21420 Re: NAが入った場合  【青木繁伸】 2014/10/29(Wed) 11:57

means, sds を求める際,na.rm=TRUE を指定するのです。
  means <- colMeans(x, na.rm=TRUE)
sds <- sapply(x, sd, na.rm=TRUE)
NAがいくつあるのかの結果を出力するのは,
summary(データフレーム名) とするだけです。
一番最後の行に NA の個数が書かれます
> summary(x)
a b c d e
Min. :1.0 Min. :1.000 Min. :1.00 Min. :1.00 Min. :1.000
1st Qu.:2.0 1st Qu.:2.000 1st Qu.:2.00 1st Qu.:2.00 1st Qu.:2.000
Median :3.0 Median :3.000 Median :3.00 Median :3.00 Median :3.000
Mean :3.1 Mean :3.118 Mean :2.97 Mean :3.14 Mean :2.998
3rd Qu.:4.0 3rd Qu.:4.000 3rd Qu.:4.00 3rd Qu.:4.00 3rd Qu.:4.000
Max. :5.0 Max. :5.000 Max. :5.00 Max. :5.00 Max. :5.000
NA's :1 NA's :1

No.21421 Re: NAが入った場合  【コロン】 2014/10/29(Wed) 12:01

青木先生

早速のお返事ありがとうございました。

うまく行きました。ありがとうございました。

● 「統計学関連なんでもあり」の過去ログ--- 047 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る