我有六组观测值(格式为128_A,16001_T等)。
使用UpSetR
中的R
包,我发现我的6个小组之间的 特定 重叠观察,即2,3,4,5,6个组共享或特定于一组的观测值。
组大小:
Group1:1565
Group2:379
Group3:703
Group4:1700
第5组:1788
第6组:548
不同观察数:3821
(可能观察到的理论数:65196)
我发现与1/4/5组重叠的 specific 是429。这三组之间可能有其他观察结果共享,但是其他组也共享它们。
library(UpSetR)
listInput = list(
G1 = c(G1),
G2 = c(G2),
G3 = c(G3),
G4 = c(G4),
G5 = c(G5),
G6 = c(G6)
)
upset(fromList(listInput))
现在,我想知道此重叠是否显着,即该重叠是否大于偶然的预期。
我执行此操作的能力受到严格限制...我习惯做t.test
或wilcox.test
,但是我不知道如何处理这些非连续变量。我在想我需要进行置换测试-这正确吗?谁能指导我举一个有关如何执行此测试的示例?
我看过coin
程序包,但看不到有任何方法可以执行这三种方式,在比较三组时可以找到的许多示例都具有连续变量。
我尝试在SuperExactTest
中使用R
,并且效果很好。但是,当查看重叠的组时,它并没有执行我想使用的UpSetR
所获得的组的特定重叠(即,如果在G1 / 2/3中找到了观察结果)重叠,它们也将计入G1 / 2和G1 / 3和G2 / 3重叠组)。
library(SuperExactTest)
list.data = list(G1,G2,G3,G4,G5,G6)
res = supertest(list.data,n=3821)
plot(res)
对于两组重叠,我执行了fisher.test
:
data = matrix(
c(O,G1,G2,A),
nrow = 2,
dimnames = list(G2 = c("Yes","No"),
G1 = c("Yes","No"))
)
fisher.test(data)
其中O =特定于G1 / G2的重叠,G1 =特定于G1的观察,G2 =特定于G2的观察,A =所有6组的观察总数。 但是,即使这样我也不确定。重叠的要求之一是,与所有六个组相比,这两个组是特定的。在这里没有考虑到这个,对吧?
我希望有人可以指引我正确的方向:) (我受过分子生物学湿实验室的培训,没有统计/数学方面的知识,请在回答时记住这一点-谢谢!)
我可以接受SuperExactTest的结果,但是我更愿意这样做,.. :)