2016-07-08 9 views
2

私はフィットの良さについてピアソンカイ二乗検定を実行しようとしています。ここではポアソン分布を当てはめるの例です。chisq.test()を使って正しくカイ二乗検定を行うには?

data <- rpois(200,50) 
estimate <- mean(data) 
freq.os<-table(data) 
yfit <- dpois(as.integer(names(freq.os)), estimate) 

chisq.test(x = freq.os, p = yfit) 
# Error in chisq.test(x = freq.os, p = yfit) : probabilities must sum to 1. 

私はsum(yfit)を評価するとき、私は0.999839を取得します。

したがって、最大1つの確率値のセットを生成する方法はありますか?ありがとうございました!


EDITは実際に私の周りの仕事を見つけました:

chisq.test(freq.os, yfit) 

が、それは私df = 429を語っているように私はどのようにchisq.test()作品のように非常に混乱しています。私はdf = n - k - 1と考えていました。この場合は35でなければなりません。ラムダの場合はk = 1、カイ二乗和の場合はn = numberとなります。どこが間違っていますか?

+0

[再現可能な例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)が本当に必要ですが、一般的にはベクトル/ 1に合計する数は、各項を合計で除算することです。例、 'x = c(0.1、0.2、0.3); y = x/sum(x)。 sum(y) ' – user20650

+0

これは経験的頻度のベクトルです:4 14 41 73 179 307 516 822 1188 1547 1950 2314 2534 2607 2647 2652 2245 2026 1608 1384 1006 732 518 383 239 157 84 61 29 13 12 4 2 1 1.OK、私は間違いなくここで間違っている、私はこの関数の使用を誤解し、仮説分布を仮定してp =期待頻度を考えた。予想される周波数と経験的な周波数のベクトルがある場合、この関数をどのように使用しますか? –

答えて