正規分布する母集団からのサンプルであるという仮説をテストしたい 30 個のサンプルのベクトルがあります。
> N.concentration
[1] 0.164 0.045 0.069 0.100 0.050 0.080 0.043 0.036 0.057 0.154 0.133 0.193
[13] 0.129 0.121 0.081 0.178 0.041 0.040 0.116 0.078 0.104 0.095 0.116 0.038
[25] 0.141 0.100 0.104 0.078 0.121 0.104
を使用して周波数ベクトルを作成しましたhist
> N.hist <- hist(N.concentration, breaks=10)
> N.freq <- N.hist$count
[1] 3 5 4 4 5 4 2 2 1
正規分布へchisq.test
の適合性をチェックするために使用していますが、関数には引数 p = chisq.test のドキュメントで定義されているx と同じ長さの確率のベクトルが必要です。それにベクトルを生成しようとしていますが、正直なところ、何を生成すればよいか正確にはわかりません。私はしようとしていますN.freq
> d <- length(N.freq$count)%/%2
> p <- dnorm(c(-d:d))
> p
[1] 0.0001338302 0.0044318484 0.0539909665 0.2419707245 0.3989422804
[6] 0.2419707245 0.0539909665 0.0044318484 0.0001338302
> chisq.test(N.freq, p = p)
Error in chisq.test(p1$count, p = p) :
probabilities must sum to 1.
使用することを考えましrescale.p=TRUE
たが、これが有効なテストを生成するかどうかはわかりません。
編集: rescale.p を使用すると、警告メッセージが表示されました
> chisq.test(N.freq, p=p, rescale.p=TRUE)
Chi-squared test for given probabilities
data: N.freq
X-squared = 2697.7, df = 8, p-value < 2.2e-16
Warning message:
In chisq.test(N.freq, p = p, rescale.p = TRUE) :
Chi-squared approximation may be incorrect