我有计数数据,我想在R中运行chisq.test()。数据有两个变量,数据类型是二进制。但是,一个变量只有一个值“1”,另一个变量的值为“0”或“1”。所以,计数表就像这样
0 1 1 67 221
data1=matrix(c(67,211),nrow=1)
rownames(data1)<-(1)
colnames(data1)<-c(0,1)
data1
chisq.test(data1)
Chi-squared test for given probabilities
data: data1
X-squared = 74.59, df = 1, p-value < 2.2e-16
chisq.test(data1)$p.value
[1] 5.793804e-18
但是,如果我在第二行添加如下所示的计数零,并运行chisq.test(),我会得到不同的结果。
0 1 1 67 221 0 0 0
data2=matrix(c(67,0, 211, 0), nrow=2, ncol=2)
rownames(data2)<-c(1,0)
colnames(data2)<-c(0,1)
data2
chisq.test(data2)
Chi-squared test for given probabilities
data: data2
X-squared = NaN, df = 1, p-value = NA
chisq.test(data2)$p.value
[1] NaN
'data1'和'data2'之间的数据表是相同的计数数据,但chisq.test()结果是不同的。第二个结果是正确的; X平方应为NaN,p值应为NA,因为无法计算X平方。
但是,在我的实际数据中,一个变量只有值'1'所以当我在R中导入数据txt文件并转换为计数表时,不生成第二行,如data2。因此,chisq.test()给出p值5.793804e-18。这是R bug吗?
Sanghoon