如何使用 R 进行拟合优度卡方检验?


拟合优度的卡方检验是一种非参数检验,它用于测试落入两个或更多类别的观测值是否遵循特定分布。我们可以说,它将观测比例与期望机会进行比较。在 R 中,我们可以使用 chisq.test 函数执行此测试。查看下面的示例以了解它是如何完成的。

示例 1

实时演示

> x1<-sample(0:9,200,replace=TRUE)
> x1

输出

[1] 9 4 1 9 6 6 1 6 0 0 5 8 8 3 7 8 0 3 3 9 6 0 3 8 2 0 8 5 9 1 3 4 6 7 0 1 4
[38] 5 4 8 1 7 2 1 1 3 4 2 5 6 3 4 4 5 6 8 6 4 6 2 0 0 5 2 0 1 6 9 3 0 5 1 3 9
[75] 8 0 9 5 9 4 2 5 9 2 2 0 6 9 1 8 0 1 7 8 4 0 0 2 5 7 1 0 6 7 0 8 8 5 4 3 4
[112] 6 7 4 7 2 1 4 4 4 2 8 4 4 5 6 5 0 5 7 1 5 7 3 4 1 7 9 1 3 9 0 7 1 5 7 7 5
[149] 6 3 4 8 1 8 2 6 8 8 8 8 1 0 9 3 1 6 9 1 5 4 9 3 4 2 6 8 1 6 5 1 0 8 5 0 7
[186] 2 5 8 0 3 6 3 6 7 7 8 4 0 8 3

示例

> x1_table<-table(x1)
> x1_table

输出

x1
0 1 2 3 4 5 6 7 8 9
24 23 14 18 23 21 21 17 24 15
> chisq.test(x1_table,p=rep(0.1,10))

Chi-squared test for given probabilities

data: x1_table
X-squared = 6.3, df = 9, p-value = 0.7096

示例 2

实时演示

> x2<-c(14,25,17,14)
> p<-c(0.25,0.25,0.25,0.25)
> chisq.test(x2,p=p)

输出

Chi-squared test for given probabilities

data: x2
X-squared = 4.6286, df = 3, p-value = 0.2011

示例 3

实时演示

> x3<-rpois(200,5)
> x3

输出

[1] 3 2 4 4 5 4 9 5 8 8 2 9 5 0 7 3 3 4 8 4 3 7 3 7 3
[26] 2 4 2 7 5 7 5 2 5 3 6 4 6 4 5 7 7 6 7 5 9 6 6 4 1
[51] 6 4 5 7 8 7 3 3 2 7 3 6 7 7 1 2 1 3 7 6 5 5 3 4 5
[76] 2 5 5 3 5 5 7 5 3 10 8 6 3 6 10 6 3 2 3 3 7 4 6 2 5
[101] 3 5 3 2 4 4 3 4 7 5 6 7 9 4 4 6 4 10 4 2 4 0 4 3 6
[126] 5 5 1 4 5 5 6 6 5 1 7 2 4 6 6 5 2 2 5 7 2 6 5 3 8
[151] 2 5 4 4 4 3 4 4 9 4 7 2 6 2 3 5 5 3 8 5 5 9 4 4 7
[176] 5 6 6 5 6 3 3 8 5 5 9 6 9 8 4 8 3 2 6 6 4 6 6 7 6

示例

> x3_table<-table(x3)
> x3_table

输出

x3
0 1 2 3 4 5 6 7 8 9 10
2 5 20 29 33 37 30 23 10 8 3
> chisq.test(x3_table,p=rep(1/11,11))

Chi-squared test for given probabilities

data: x3_table
X-squared = 93.15, df = 10, p-value = 1.268e-15

示例 4

实时演示

> x4<-c(24,98,30,35,27,28)
> chisq.test(x4)

输出

Chi-squared test for given probabilities

data: x4
X-squared = 100.6, df = 5, p-value < 2.2e-16

示例 5

实时演示

> x5<-c(12,15,17,15,9,14)
> p<-c(0.1,0.1,0.2,0.2,0.1,0.1)
> chisq.test(x5,p)

输出

Pearson's Chi-squared test

data: x5 and p
X-squared = 3.75, df = 4, p-value = 0.4409

Warning message:
In chisq.test(x5, p) : Chi-squared approximation may be incorrect

示例 6

实时演示

> x6<-c(36,27,25,84,14,25,36,27,29)
> chisq.test(x6,p=rep(1/9,9))

输出

Chi-squared test for given probabilities

data: x6
X-squared = 94.812, df = 8, p-value < 2.2e-16

更新于: 2020 年 11 月 21 日

3K+ 浏览次数

开启您的 职业生涯

完成课程并获得认证

开始吧
广告