У меня есть шесть групп наблюдений (в формате 128_A, 16001_T и т. Д.).Используя пакет UpSetR
в R
, я нашел специфичные перекрывающиеся наблюдения между моими 6 группами, т.е.наблюдения, разделенные на 2,3,4,5,6 группы или специфичные для группы.
Размеры группы:
Группа 1: 1565
Группа 2: 379
Группа 3: 703
Группа 4: 1700
Группа 5: 1788
Группа 6: 548
Количество различных наблюдений: 3821
(теоретическое количество возможных наблюдений: 65196)
Я обнаружил, что перекрытие , специфичное для группы 1/4/5, равно 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, но я бы очень хотел сделать это вместо этого .. :)