我在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
根据自由度,我猜最后一个是正确的,但这里发生了什么?此外,无论我选择在测试中使用哪一列,我都得到了相同的pval ...
答案 0 :(得分:2)
实际上,使用第三个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