R中列联表(4x2)的卡方检验

时间:2019-01-24 15:22:57

标签: r chi-squared contingency

我无法在R中的4x2列联表上计算卡方检验。我的脚本如下所示:

# Read data
read.table("Mortality_test.txt")

# Assign a name to the data
mortality<- read.table("Mortality_test.txt", ,col.names=c('treatment','dead'), header=TRUE, sep="\t", na.strings="NA", dec=",", strip.white=TRUE)

table(mortality)

当我运行table(mortality)时,我得到一个列联表,如下所示:

    dead
treatment no yes
     A    63   7
     B    61   9
     C    68   2
     D    63   7

我现在的问题是,我想比较不同治疗方法(A,B,C,D)之间的死亡人数是否存在统计差异。如果我没记错的话,我可以通过桌上的卡方检验来做到这一点。但是,我不确定下一步该怎么做。

2 个答案:

答案 0 :(得分:1)

您有一个chisq.test函数可以对偶数表执行chi测试。

在这里,与您的桌子

dead <- read.table(text = "treatment no yes
                   A    63   7
                   B    61   9
                   C    68   2
                   D    63   7",header = T)

> dead
  treatment no yes
1         A 40  15
2         B 61   9
3         C 68   2
4         D 63   7

您需要使用两列“否”和“是”:

chisq.test(dead[,2:3])


        Pearson's Chi-squared test

    data:  dead[, 2:3]
    X-squared = 4.6996, df = 3, p-value = 0.1952

治疗之间没有区别。要查看另一个不同的示例:

dead <- read.table(text = "treatment no yes
                   A    55   12
                   B    61   9
                   C    68   2
                   D    63   7",header = T)

A的处理方式确实不同:

    Pearson's Chi-squared test

data:  dead[, 2:3]
X-squared = 8.4334, df = 3, p-value = 0.03785

答案 1 :(得分:0)

我们只需在summary()上应用table()就可以方便地进行卡方检验。

示例

with(mtcars, table(cyl, gear))
#    gear
# cyl  3  4  5
#   4  1  8  2
#   6  2  4  1

summary(with(mtcars, table(cyl, gear)))
# Number of cases in table: 32 
# Number of factors: 2 
# Test for independence of all factors:
#         Chisq = 18.036, df = 4, p-value = 0.001214
#         Chi-squared approximation may be incorrect

注意:“卡方近似可能不正确”是由于在此示例中只有32个观测值。

使用您的数据summary(table(mortality))应该可以。