R语言 如何计算R中Chi-Square统计的P值
Chi-Square统计法 是一种表示两个分类变量之间关系的方法。在统计学中,变量被分为两类:数字变量和非数字变量(分类变量)。Chi-square统计是用来表示如果人口中不存在任何关系,观察到的计数和预期的计数之间存在多大的差异。当进行Chi-Square检验时,我们会得到检验统计量,在检验统计量的帮助下,我们可以找到P值,在此基础上我们可以确定检验结果是否具有统计学意义。
R为我们提供了pchisq()函数,使用该函数我们可以找到Chi-Square统计的p值。这个函数的语法如下。
语法 。
pchisq(q = “value”, df = “value”, lower.tail = TRUE)
参数 。
- q:它代表了Chi-Square检验统计量
- df。代表自由度
- lower.tail = “TRUE”。返回Chi-Square分布中q左边的概率。
- lower.tail = “FALSE”。返回在Chi-Square分布中q右边的概率。
注意,默认情况下 lower.tail 是 TRUE。
方法1: Chi-Square适合度测试
一个美容院老板提出,周末和工作日来他店里的顾客数量相等。为了检验这个假设,研究人员跟踪了一周内访问他的商店的顾客数量。他们发现了以下信息。
工作日 | 来访的顾客人数 |
---|---|
星期一 | 8 |
星期二 | 6 |
星期三 | 10 |
礼拜四 | 12 |
礼拜五 | 13 |
礼拜六 | 6 |
礼拜天 | 15 |
第1步: 假设。
我们现在将进行Chi-Square拟合度检验,使用以下假设。
- H0:每天有相同数量的顾客进入美容院。
- H1:每天有相同数量的顾客进入美容院。
第2步: 计算每天的(O-E)2 /E的值。
在这一周里,总共有70位顾客到沙龙店来。因此,如果我们认为每天有相同数量的人访问他的商店,那么预期值 “E”(每天)就等于10。
工作日 | 访问的顾客人数 |
---|---|
星期一 | (8 – 10)2 / 10 = 0.4 |
星期二 | (6 – 10)2 / 10 = 1.6 |
星期三 | (10 – 10)2 / 10 = 0 |
礼拜四 | (12 – 10)2 / 10 = 0.4 |
星期五 | (13 – 10)2 / 10 = 0.9 |
礼拜六 | (6 – 10)2 / 10 = 1.6 |
周日 | (15 – 10)2 / 10 = 2.5 |
第3步: 计算测试统计量X2。
X2 = σ(o – e)2 / e = 0.4 + 1.6 + 0 + 0.4 + 0.9 + 1.6 + 2.5 = 7.4
第4步: 计算检验统计量X2 的p值。
现在我们来计算一下检验统计量的p值。q值等于7.4,df值等于6。
例子 。
# Determine the p-value for the Chi-Square test statistic
pchisq(q=7.4, df=6, lower.tail=FALSE)
输出 。
输出
因此,与X2 = 7.4和n-1 = 7-1 = 6个自由度相关的p值是0.28543311。
p值出来后等于0.28。由于这个值不小于0.05。因此,我们将无法拒绝无效假设。这意味着我们没有足够的证据来声称顾客的实际分布与店主提出的分布不同。
方法 2: 独立度的Chi-Square检验
让我们考虑一个例子,研究人员有兴趣知道一个特定的年龄组的偏好是否与肥皂产品有关。 人口中存在两个年龄组。
- 低于18岁。
- 等于或大于18岁。
随机抽取了100名公民,并对他们的肥皂产品偏好进行了调查。进行了独立的Chi-Square检验,并提取了以下信息。
- 芝方检验统计量(X2 )。0.64521
- 自由度:(df)。2
现在我们将确定与这个Chi-Square检验统计量和自由度相关的P值。
# Determine p-value for the Chi-Square
# test statistic
pchisq(q=0.64521, df=2, lower.tail=FALSE)
输出 。
输出
p值等于0.72425。由于p值大于0.05,因此我们不能遵循无效假设。这意味着我们没有足够的证据说年龄组和肥皂产品偏好之间存在联系。