将plyr与巴纳德试验结合使用
我正在做一些社会科学研究,偶然发现一篇文章讨论了不同的精确测试,包括伯纳德测试。几位作者在2009年讨论了Fisher的精确检验和Bernard的Lydersen检验之间的差异,在2003年讨论了Mehta和Senchaudhuri检验之间的差异,但我只是好奇我是否能亲眼看到这种差异,并在这个过程中对R有更多的了解。我找到了一种让费舍尔的测试发挥作用的方法,但巴纳德的测试让我难以捉摸:将plyr与巴纳德试验结合使用,r,plyr,R,Plyr,我正在做一些社会科学研究,偶然发现一篇文章讨论了不同的精确测试,包括伯纳德测试。几位作者在2009年讨论了Fisher的精确检验和Bernard的Lydersen检验之间的差异,在2003年讨论了Mehta和Senchaudhuri检验之间的差异,但我只是好奇我是否能亲眼看到这种差异,并在这个过程中对R有更多的了解。我找到了一种让费舍尔的测试发挥作用的方法,但巴纳德的测试让我难以捉摸: library(plyr) library(Barnard) rook <- expand.gr
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]])
)
我在这里找到了Barnard精确测试的R代码,下载并运行。我不知道它是否有兴趣或有帮助。你的第二个例子对我很有用,当我去掉孤独的s。