R中的卡方拟合优度检验

Ali*_*vil 12 statistics r chi-squared goodness-of-fit

我有一个观测值向量,还有一个用模型计算的值向量:

actual <- c(1411,439,214,100,62,38,29,64)
expected <- c(1425.3,399.5,201.6,116.9,72.2,46.3,30.4,64.8)
Run Code Online (Sandbox Code Playgroud)

现在我正在使用卡方拟合优度测试来看看我的模型表现得如何.我写了以下内容:

chisq.test(expected,actual) 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.你能帮帮我吗?

Rom*_*rik 15

在7自由度下X ^ 2 = 10.2会给你ap~0.18.

> 1-pchisq(10.2, df = 7)
[1] 0.1775201
Run Code Online (Sandbox Code Playgroud)

您应该传递参数下的预期值p.确保将值缩放为总和为1.

> chisq.test(actual, p = expected/sum(expected))

    Chi-squared test for given probabilities

data:  actual 
X-squared = 10.2581, df = 7, p-value = 0.1744
Run Code Online (Sandbox Code Playgroud)

这是关于X ^ 2测试正在做什么.你给函数一个模型(expected)并询问 - 我的observed数据来自"生成"的人口的可能性有多大expected

  • 如果您的“预期”值总和不等于 1,您还可以添加“rescale.p=TRUE”(因此“chisq.test(actual, p=expected, rescale.p=TRUE)”,然后它们会自动重新调整为总和为 1。 (2认同)