几个组之间的重叠是否重要? (R)-排列?

时间:2018-09-13 04:03:21

标签: r overlap upsetr

我有六组观测值(格式为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.testwilcox.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的结果,但是我更愿意这样做,.. :)

0 个答案:

没有答案