在 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 应该是正确的,至少它对应于文档中的示例
我正在尝试确定今天的数据是否真的与昨天的四个类别不同。
我统计的数据是:
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 应该是正确的,至少它对应于文档中的示例