在子列表列表中搜索项目,并获取子列表的名称,该项目包含在

时间:2019-05-11 20:54:18

标签: r

我在R中有一个列表列表。整个列表中有15个子列表(一堆基因名称)。我希望能够搜索一个基因名称,并让R返回该基因名称所在的子列表的名称。

下面的代码产生一个'list'类的对象,其中包含更多的list类对象(例如elements $ 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)

0 个答案:

没有答案