No.20054 Re: 対応のある2群における検定 【青木繁伸】 2013/07/11(Thu) 22:57
> %表示になっているのは,0と答えた者の全体数Nに対する比率とします
どういうことなのか(どんなデータなのか)よく分かりません。
A+B+C が total というのも,へんなのではないでしょうか?
すくなくとも,「%表示のまま検定に持ち込んで」というのはへんでしょう。
No.20057 Re: 対応のある2群における検定 【mii】 2013/07/12(Fri) 08:49
わかりづらくてすみませんでした。
2005年も2006年も回答者数Nが500だったとします。
回答は1:Yes 0:Noで答えてもらうとします。
2005年
A=猫だけを飼っている 25名(5%)
B=犬だけを飼っている 10名(2%)
C=馬だけを飼っている 5名(1%)
total=猫,犬,馬のいずれかを飼っている人 計40名(8%)
2006年も同様
という具合です。
totalの値が2005年と2006年で有意に変化したかどうかを知るためにどの検定を選択すれば良いでしょうか。
No.20058 Re: 対応のある2群における検定 【青木繁伸】 2013/07/12(Fri) 09:10
回答ではないですが,猫と犬を飼っている人は A,B, C のどれにもカウントされませんね。当然,total にも入りません。
たとえ話ではなく,具体的に書いてください。
2005年と2006年は同じ人ですか?
同じ人なら,前述した,複数を買っている人の問題は別として,要するに飼っているかいないかで対応のある比率の差の検定(オリジナルの単純なマクネマー検定)でしょう?
No.20061 Re: 対応のある2群における検定 【mii】 2013/07/12(Fri) 10:28
ご返信ありがとうございます。
青木先生のご指摘の通り,猫と犬両方とも飼っている人,全部飼っている人などその他の組み合わせはtotalには入りません。
また,A,B,Cのうち回答がいずれも重複することはなく(つまり,A=1と回答した場合,必然的にB=0,C=0) totalは,犬と猫と馬のうちいずれか1種類のみの動物を飼っている者の合計,ということになります。
Rでマクネマー検定を行う場合
#2005と2006のそれぞれのtotalの変数を新しく作る(A=1またはB=1またはC=1と回答した者)
x$total2005 <- with(x, ifelse(a==1 | b==1 | c==1),1,0)
x$total2006 <- with(x, ifelse(a==1 | b==1 | c==1),1,0)
mcnemar.test(x$total2005, x$total2006, correct=T)
というプログラムで合っていますでしょうか?
何度もお手数おかけしてすみません。よろしくお願い致します。
No.20062 Re: 対応のある2群における検定 【青木繁伸】 2013/07/12(Fri) 11:55
ある計算プログラムがあっているかどうかは,手計算でも確認できる程度の簡単なデータを作って,そのプログラムが出す結果が,手計算のものと一致するかどうかを見ればよいでしょう。
with(x, ifelse(a==1 | b==1 | c==1),1,0) は,文法エラーになりますね。
この場合は,ifelse を使うより colSums 関数を使う方が効率がよいでしょう。
● 「統計学関連なんでもあり」の過去ログ--- 046 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る