分散の偏り で
前にも指摘したことがあるが,カイ二乗統計量を計算する元の分割表は,カウントデータの集計表。
使われたデータのような実数値ではない。
> 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
※コメント投稿者のブログIDはブログ作成者のみに通知されます