渔民精确测试帮助创建矩阵

时间:2017-05-16 16:20:30

标签: r

我是M.Sc学生的第二年,我在运行统计数据时遇到了一些麻烦。

我正在尝试运行一个列联表和Fishers测试,并且我一直收到错误。

  

fisher.test(GAL4UAS)出错:如果' x'不是一个矩阵,' y'必须给予

如果有人能看到我做错了什么/可能会丢失我真的很感激吗?

这是代码:

setwd("/Users/Pria/Desktop/Data Analysis/")

GAL4UAS <-- data.frame(Yes=c(20,21,19),No=c(10,9,11))

GAL4UAS <- lapply(GAL4UAS, abs)

fisher.test(GAL4UAS)

fisher.test(GAL4UAS[c(1,2)])

fisher.test(GAL4UAS[c(1,3)])

2 个答案:

答案 0 :(得分:0)

fisher.test()期待矩阵作为输入而不是数据帧。尝试将数据放入矩阵中。其中一种选择是:

m <- matrix(c(20,21,19,10,9,11),nrow = 3,ncol=2,byrow=FALSE)
fisher.test(m)

答案 1 :(得分:0)

使用lapply应用abs()时,输出是列表而不是data.frame。 apply函数以一种矩阵格式返回输出,该格式在fisher.test()中是预期的。所以也许你可以试试这个:

GAL4UAS <- data.frame(Yes=c(20,21,19),No=c(10,9,11))

GAL4UAS <- apply(GAL4UAS, abs, MARGIN=c(1,2))

fisher.test(GAL4UAS)