我是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)])
答案 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)