使用plyr和Barnard的测试

时间:2012-04-25 01:12:29

标签: r plyr

我正在做一些社会科学研究,偶然发现了一篇讨论不同精确测试的文章,包括伯纳德的测试。几位作者讨论了Fisher精确测试和Bernard测试之间的差异(2009年的Lydersen,2003年的Mehta和Senchaudhuri),但我很好奇我是否能够看到自己的差异(并在此过程中了解更多关于R的信息) )。我找到了让费舍尔的测试工作的方法,但巴纳德的测试让我望而却步:

 library(plyr)
 library(Barnard)

 rook <- expand.grid(a=0:5,b=0:5,c=0:5,d=0:5)

 sums <- ddply(rook, .(a,b,c,d), sum)

 system.time(
 Fisher.l <- ddply(rook, .(a,b,c,d),function(z)
      fisher.test(matrix(unlist(z[,c(1,2,3,4)]),
      ncol=2),alternative="less")$p.value)
 )

这些都不起作用......它们是尝试做同样事情的两种方式......

 system.time(
      Barnard <- ddply(rook, .(a,b,c,d), function(z)
      barnardw.test(unlist(z[,c(1,2,3,4)]), ncol=2))$p.value[[1]])
 )

 system.time(
      Barnard <- ddply(rook, .(a,b,c,d), function(z)
      barnardw.test(z[,1],z[,2],z[,3],z[,4]))$p.value[[1]])
 )

0 个答案:

没有答案