这是我的数据框,称为mydata。
Denomination
Attendance Protestant Catholic Jewish
Regular 182 213 203
Irregular 154 138 110
我想通过卡方检验来计算假设。所以我这样设定我的假设:
H0:教派与出勤没有关系
H1:面额和出勤率之间有关系。
我已经尝试通过计算实际值和期望值,并将它们进行比较以计算卡方。但是没有得到输出。
我尝试过的代码:
> rowSums(mydata,na.rm = FALSE,dims = 1L)
> colSums(mydata,na.rm = FALSE,dims = 1L)
> sum(mydata)
> e = rowSums(mydata) * colSums(mydata)/ 1000
> chisq.test(mydata) = sum((mydata-e)^2 / e)
但是我没有得到结果。请提出建议?
答案 0 :(得分:2)
这里需要注意的几件事:
chisq.test
只能有数字列(或整数)。您显示数据的方式似乎Attendance
是它自己的列,而不是rowname
。rowSums
或colSums
即可使用测试。 这是我运行的代码:
dfs <- data.frame(Attendance = c("Regular", "Irregular"), Protestant = c(182, 154), Catholic = c(213, 138), Jewish = c(203,110))
rownames(dfs) <- dfs[,1]
dfs$Attendance <- NULL
chisq.test(dfs)
Pearson's Chi-squared test
data: dfs
X-squared = 7.8782, df = 2, p-value = 0.01947