裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

ダメ出し: カイ二乗統計量の元になる分割表データ

2012年11月30日 | ブログラミング

分散の偏り

前にも指摘したことがあるが,カイ二乗統計量を計算する元の分割表は,カウントデータの集計表。

使われたデータのような実数値ではない。

> tmp.m
                 [,1]             [,2]
[1,] 351.515921600163 350.484078399837
[2,]  75.484078399837 321.515921600163

しかも,期待値 m.e が間違い。転置しないと正しい答にならない。

> addmargins(tmp.m)
                 [,1]             [,2] [,3]
[1,] 351.515921600163 350.484078399837  702
[2,]  75.484078399837 321.515921600163  397
[3,] 427.000000000000 672.000000000000 1099

> addmargins(m.e)
                 [,1]             [,2] [,3]
[1,] 272.751592356688 154.248407643312  427
[2,] 429.248407643312 242.751592356688  672
[3,] 702.000000000000 397.000000000000 1099

期待値を求めるプログラムも汚い。

> m <- matrix(v,2,2)
> a <- apply(m,1,sum)
> b <- apply(m,2,sum)
> m.e <- matrix(c(a[1]*b[1],a[1]*b[2],a[2]*b[1],a[2]*b[2]),2,2)/sum(v)

こんな風にしてはいかが?

> m
     [,1] [,2]
[1,]  276  426
[2,]  151  246

> (m.e <- outer(rowSums(m), colSums(m)) / sum(m)) # 簡単でしょ?
                 [,1]             [,2]
[1,] 272.751592356688 429.248407643312
[2,] 154.248407643312 242.751592356688

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ダメ出し:データに NA が含... | トップ | ダメ出し:どちらが正しいか... »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事