Критерий хи-квадрат на столе сопряженности (4x2) в R - PullRequest
0 голосов
/ 24 января 2019

У меня проблемы с вычислением критерия хи-квадрат в моей таблице непредвиденных обстоятельств 4x2 в R. Мой сценарий выглядит следующим образом:

# 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 голосов
/ 24 января 2019

Мы можем удобно получить тест хи-квадрат, просто применив 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)) должно работать.

0 голосов
/ 24 января 2019

У вас есть функция chisq.test для выполнения теста хи для таблицы примитивов.

Здесь, с вашей таблицей

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
...