Поиск элементов в списке подсписков и получение имени подсписка, в котором содержится элемент - PullRequest
1 голос
/ 11 мая 2019

У меня есть список списков в R. В общем списке 15 подсписков (набор имен генов). Я хочу иметь возможность искать имя гена, и чтобы R возвращал имя подсписка, в котором находится имя гена.

Приведенный ниже код создает объект класса «список», содержащий больше объектов списка классов (например, элементы $ TwoThree).

Я пытался использовать list.search () в нескольких формах, а также использовать двойные скобки и т. Д.

break.venn <- list(One = dds.break1.genes.df$GENES, 
                     Two = dds.break2.genes.df$GENES, 
                     Three = dds.break3.genes.df$GENES, 
                     Four = dds.break4.genes.df$GENES)             
combs <- 
  unlist(lapply(1:length(break.venn), 
                function(j) combn(names(break.venn), j, simplify = FALSE)),
         recursive = FALSE)
names(combs) <- sapply(combs, function(i) paste0(i, collapse = ""))
str(combs)

elements <- 
  lapply(combs, function(i) setdiff(break.venn[i], break.venn[setdiff(names(break.venn), i)]))

РЕДАКТИРОВАТЬ: Вот что я наконец-то сделал, чтобы решить все это. Моей целью был список компонентов диаграммы Венна и генов, которые попадают в каждую категорию диаграмм Венна. Затем я хотел выяснить, к какой категории вен относится определенный ген:

GOI <- "MYB90"

ItemsList <- venn(xx.1, show.plot=FALSE)
attributes <- attr(ItemsList,"intersections")
t1 <- list.search(attributes, GOI %in% .)
name <- names(t1)
cat(GOI, "is contained in", name)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...