欠損値の一括指定!

調査データで,ID,年齢,性別などに続いて,例えば4行目から10行目までが7項目からなる尺度評定値,というデータは一般的によくある形。
このなかで,評定値は1 〜5の値しかとらないんだけど,よく見たら9とか7とか,変な数字が入っていたとすると,これを欠損値にしたくなる*1

そういうとき,今までifelse関数を使っていました。例えば性別は1,2で入るはずだけど,という場合,

とする。でも,4から10行目,と複数行にわたるとき,ひとつひとつ書いていくのは面倒だ・・・

という時の解決策を見つけました。

データフレームの要素指定条件を中括弧で書く,というのは知っていたけど,こういう使い方が出来るとはね!備忘録の意味も込めて書いておきます。

参考記事はこちら。scratch-R: missing data

追記)
一行あたりの欠損値の数が知りたい,って時。例えば,25項目の調査で20項目以上欠損している(ほとんど回答してない)やつは捨てるぜ,というときに欠損値の数を数え上げる必要があるかと。そんなときにはこんな風に書きましょう。

これで各ケースの欠損値の数がでますよ。

*1:もちろん元データに戻れる時は,IDからもとの調査票にもどって入力し直すのが基本。戻れない,というちょっと特殊なケースで。

コメントは受け付けていません。