【发布时间】:2015-12-06 04:07:58
【问题描述】:
我有两个文件。一个有一系列我感兴趣的基因。另一个有基因及其相关的途径。所以第一个列表看起来像这样:
Solyc08g062250
Solyc02g069270
Solyc07g064990
Solyc09g065800
Solyc02g077620
Solyc01g104400
Solyc02g065290
Solyc02g090220
还有一个包含这些基因的列表以及它们所属的“路径”(这是文件的样本,文件要大得多,并且有多个路径和基因):
Solyc10g008120 1,3,5-trimethoxybenzene biosynthesis
Solyc02g069920 1,4-dihydroxy-2-naphthoate biosynthesis I
Solyc04g005180 1,4-dihydroxy-2-naphthoate biosynthesis I
Solyc04g005190 1,4-dihydroxy-2-naphthoate biosynthesis I
Solyc04g005200 1,4-dihydroxy-2-naphthoate biosynthesis I
Solyc05g005180 1,4-dihydroxy-2-naphthoate biosynthesis I
Solyc06g071030 1,4-dihydroxy-2-naphthoate biosynthesis I
问题是我的几个基因落入了几个途径。我需要一种很好的方法来获取每个基因,并在我从一组输入的每个基因 ID 旁边列出它负责的所有途径。
我最初是尝试使用命令
c<-b[b$GeneID %in% a$GeneIDs,]
其中 b 是我的通路/GeneID,a 是我想要的基因 ID 列表,但它只返回一个通路,我知道其中许多基因属于多个通路。
我完全是编程新手,所以我遇到了麻烦。任何帮助,将不胜感激!我不知道如何在互联网上搜索,因为我不知道这叫什么。
【问题讨论】:
-
你可以使用
lapply查看第一个的GeneID,然后使用%in%。即lapply(a$GeneIDs, function(x) b[b$GeneID ==x,])输出将是data.frames的列表(假设这是你想要的) -
这个问题与这个问题非常相似:stackoverflow.com/questions/30331830/… 你可能想尝试一下接受的答案
-
请记住,
c本身就是 R 中的一个函数,将变量分配给c可能会导致奇怪的行为 -
任何答案对您有用吗?如果是这样,请考虑通过单击问题投票下方的勾号将其标记为“已接受”
-
给我一些时间 PavoDive,我刚刚醒来。当我阅读列表并理解命令时,我会尝试给出答案。我是新手,所以我需要查看命令及其工作原理。
标签: r