R中卡方的置信区间

时间:2018-07-22 22:38:28

标签: r statistics

如何计算R中卡方的置信区间。是否有类似chisq.test()的函数,

2 个答案:

答案 0 :(得分:4)

卡方检验没有置信区间(您只是在检查第一个类别变量和第二个类别变量是否独立),但是您可以对比例差异进行置信区间,像这样

假设您有一些数据,其中第一组的30%报告成功,而第二组的70%报告成功:

> my.table
     [,1] [,2]
row1   70   30
row2   30   70

现在列联表中有数据:

chisq.test

您可以继续使用> chisq.test(my.table) Pearson's Chi-squared test with Yates' continuity correction data: my.table X-squared = 30.42, df = 1, p-value = 3.479e-08 ,并且显然这两个比例明显不同,因此分类变量必须是独立的:

prop.test

如果您进行> prop.test(x=c(70,30),n=c(100,100)) 2-sample test for equality of proportions with continuity correction data: c(70, 30) out of c(100, 100) X-squared = 30.42, df = 1, p-value = 3.479e-08 alternative hypothesis: two.sided 95 percent confidence interval: 0.2629798 0.5370202 sample estimates: prop 1 prop 2 0.7 0.3 ,则会发现您有95%的信心认为比例之间的差异介于26.29%和53.70%之间,这是有道理的,因为观察到的两个比例之间的实际差异为70%- 30%= 40%:

{{1}}

答案 1 :(得分:1)

@mysteRious的一个不错的答案:如果您有2x2列联矩阵,则可以使用fisher.test而不是prop.test来测试比率< / em>的比例,而不是比例的差异。在Fisher的精确检验中,原假设对应于优势比(OR)= 1。

使用@mysteRious的示例数据

ft <- fisher.test(my.table)
ft
#
#   Fisher's Exact Test for Count Data
#
#data:  my.table
#p-value = 2.31e-08
#alternative hypothesis: true odds ratio is not equal to 1
#95 percent confidence interval:
#  2.851947 10.440153
#sample estimates:
#odds ratio
#  5.392849

然后在fit$conf.int中给出OR的置信区间

ft$conf.int
#[1]  2.851947 10.440153
#attr(,"conf.level")
#[1] 0.95

为确认,我们手动计算OR

OR <- Reduce("/", my.table[, 1] / my.table[, 2])
OR
#[1] 5.444444