r - 卡方检验 (R) 无法解释的结果
问题描述
我在 R 中使用 chisq.test 命令时遇到了一些麻烦:根据我使用数据的方式,我得到了不同且奇怪的结果。
假设我有下表名为t
:
> t
data1 data2 data3 data4 data5
1487 3301 2983 2432 6151
1296 1519 1354 1244 3139
1169 867 837 916 2191
1372 681 802 1065 1749
1497 630 962 1256 1304
1502 544 1097 1380 942
1344 477 1200 1410 673
1031 346 1199 1286 347
705 172 975 980 170
542 90 919 770 66
276 26 1005 604 10
我正在列之间进行 chi2 测试,但我不明白:
当我这样做时chisq.test(x=t[,1], y=t[,2])
,我得到了:
X-squared = 110, df = 100, p-value = 0.2322
这与我做的结果相同:
data1 <- c(1487, 1296, 1169, 1372, 1497, 1502, 1344, 1031, 705, 542, 276)
data2 <- c(3301, 1519, 867, 681, 630, 544, 477, 346, 172, 90, 26)
chisq.test(x=data1, y=data2)
但不同于:
t2 <- matrix(c(data1, data2), ncol=11, nrow=2, byrow=T)
chisq.test(t2)
X-squared = 2865.8, df = 10, p-value < 2.2e-16
根据自由度,我猜最后一个是正确的,但是这里发生了什么?此外,无论我选择在测试中使用什么列,我都得到了相同的 pvalues ...
解决方案
实际上,在您的第三个 chisqtest 中,您将 data1 和 data2 放在一个向量中,并将长度为 22 的向量与 y = NULL 进行比较。确切地说,您使用后一个 chisq.test 命令执行以下操作:
t2 <- matrix(c(data1, data2), ncol=11, nrow=2, byrow=T)
chisq.test(x = t2, y = NULL)
这使:
Pearson's Chi-squared test
data: t2
X-squared = 2865.8, df = 10, p-value < 2.2e-16
推荐阅读
- javascript - ReactJS DataCloneError:无法在“历史”上执行“pushState”:无法克隆 MouseEvent 对象
- google-oauth - 使用 Cloud Identity 签署文档
- java-8 - 为可选设置默认值的更好方法是什么
- postgresql - Grafana - 写:破管
- android - 应用程序崩溃而没有明确指出其来源
- c - 从 .txt 文件中读取整数而不读取 C 中的逗号
- r - 如何使用 R 处理(透视?)社会调查原始数据?
- java - android中的后台同步
- ios - ios 14 键盘高度
- c# - 本地类的静态属性注入