No.07795 Rの欠損値の取扱  【かれん】 2008/09/30(Tue) 11:31

統計ソフトRと格闘しております,統計まったくの初心者です。
級内相関係数を求める際,データに欠損値があるとうまく処理できません。エクセル表の欠損部分にNAと記載し,それをコピーしてRに読み込むところまではいいのですが,欠損値の処理に関してどういった作業を行えばよいのでしょうか。

超初心者で申し訳ありませんが,ご助言ください。

No.07797 Re: Rの欠損値の取扱  【青木繁伸】 2008/09/30(Tue) 11:47

どのようなプログラムを使っておられるかにもよるんですが。

http://aoki2.si.gunma-u.ac.jp/R/ic.html だと,たとえば使用例の部分にあるデータが欠損値を含んでいて,以下のようになっているとしましょう。
dat <- matrix(c(
71, 71,
79, 82,
105, 99,
115, NA,
76, 70,
83, 82,
NA, 113,
57, 44,
114, 113,
NA, NA,
75, 83,
76, 72
), ncol=2, byrow=TRUE)
つまり,4,7,10番目のデータ対に欠損値があるとき,この3対を除いたデータを作ればよいわけですね。一番簡単には手作業で除けばよいのですが,それは手間がかかるし間違いが多くなるということですね。以下のようにすればよいです。
> dat <- matrix(c(
+ 71, 71,
+ 79, 82,
+ 105, 99,
+ 115, NA,
+ 76, 70,
+ 83, 82,
+ NA, 113,
+ 57, 44,
+ 114, 113,
+ NA, NA,
+ 75, 83,
+ 76, 72
+ ), ncol=2, byrow=TRUE)
> dat # データの確認
[,1] [,2]
[1,] 71 71
[2,] 79 82
[3,] 105 99
[4,] 115 NA
[5,] 76 70
[6,] 83 82
[7,] NA 113
[8,] 57 44
[9,] 114 113
[10,] NA NA
[11,] 75 83
[12,] 76 72
> dat2 <- na.omit(dat) # na.omit 関数を使うだけ
> dat2 # 確認
[,1] [,2]
[1,] 71 71
[2,] 79 82
[3,] 105 99
[4,] 76 70
[5,] 83 82
[6,] 57 44
[7,] 114 113
[8,] 75 83
[9,] 76 72
attr(,"na.action") # これ以下の情報は分析には取りあえずは無関係
[1] 7 10 4
attr(,"class")
[1] "omit"
> intraclass.correlation(dat2) # ちゃんと計算されます
[1] 0.9457472

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