【发布时间】:2021-03-28 09:16:15
【问题描述】:
我有一个数据框(虽然我不认为我拥有的源对象类型很重要),其中包含我想获取路径信息的 51 个基因列表(使用 rWikiPathways,但是,再次,这也可以应用于更普遍的问题)。
我想使用从 rWikiPathways 检索到的信息为这 51 个基因中的每一个创建一个对象。
我一直在尝试使用 for 循环、分配和粘贴函数,但没有什么能像我希望的那样真正起作用,所以我最终将这行代码复制了 51 次:
pathway.gene.1 <- findPathwaysByXref(genes$Encode.ID[1], "En")
pathway.gene.2 <- findPathwaysByXref(genes$Encode.ID[2], "En")
...
pathway.gene.51 <- findPathwaysByXref(genes$Encode.ID[51], "En")
请注意,“...gene.1”和“Encode.ID[1]”都从 1 变为 51。
必须有一种方法可以自动执行此操作...我是初学者,无法真正做到。
有什么建议吗?
欢呼, 圭多
【问题讨论】:
-
pathway.gene <- lapply(genes$Encode.ID, findPathwaysByXref, "En")? -
我更喜欢使用框架列表,而不是环境中的单个、相同用途/结构化对象。快速查看stackoverflow.com/a/24376207/3358227,从中您可能会看到使用
lapply并将所有返回值捕获到单个list中的价值。我上面的lapply可以稍微改进一下,以便name 条目(如果需要的话),但其他方面就像我推荐的那样通用。从这里开始,无论您倾向于对一个pathway.gene.#对象做什么,都可以使用lapply(pathway.gene, function(pwg) ...)对所有对象执行。 -
谢谢!这与@ThomasIsCoding 所说的非常相似,制作一个列表列表,实际上是命名其中的每个对象。