在 R 中使用卡方检验 (GOF) 的正确方法

proper way of using chi-square test (GOF) in R

我正在尝试确定今天的数据是否真的与昨天的四个类别不同。

我统计的数据是:

data <-data.frame(yesterday=c(10741, 1575, 174, 2),
              today = c(11987, 1705, 211, 2), 
              row.names = c("a", "b", "c", "unknown"))

> data
        yesterday today
a           10741 11987
b            1575  1705
c             174   211
unknown         2     2

所以我以这种方式使用统计包中的卡方进行测试:

stats::chisq.test(x = data$yesterday, y = data$today)

结果是:

Pearson's Chi-squared test

data:  data$yesterday and data$today
X-squared = 12, df = 9, p-value = 0.2133

我的问题是我认为这应该与:

stats::chisq.test(data)

但是你可以看到结果完全不同

Pearson's Chi-squared test

data:  data
X-squared = 1.3846, df = 3, p-value = 0.7092

所以....使用此测试比较来自同一数据集的两个样本的正确方法是什么?

我认为问题在于您在第一种情况下对意外事件 table 的列应用 chisq.test,而该函数期望 x 和 y 是因子。因此,您提供应急的版本 table 应该是正确的,至少它对应于文档中的示例