对每一行做卡方检验。
在样本较小时(<5),需要用Fisher精确检验来作独立性检验。
如果在data.frame中有的个数小于5,要用if 语句进行筛选。
test.txt如下:
aa bb cc dd
45 24 55 76
85 52 15 48
12 41 88 59
45 14 55 86
78 25 22 75
60 3 32 11
....
最后一行是添加上验证fisher.test的
请问:如何用条件语句。
test<-read.table(file='test.txt')
result <- numeric()
for(i in 1 : nrow(test)){
if (test$aa>4 && test$bb>4 && test$cc>4 && test$dd>4)
result<-chisq.test(matrix(unlist(test[i,]),ncol=2,byrow=T),correct=F)$p.value
else
result<-fisher.test(matrix(unlist(test[i,]),ncol=2,byrow=T))$p.value
}
结果不对。请帮帮忙,谢谢。