Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将两列中的项目合并到两个单独的文件中?_R_Excel_Term - Fatal编程技术网

R 如何将两列中的项目合并到两个单独的文件中?

R 如何将两列中的项目合并到两个单独的文件中?,r,excel,term,R,Excel,Term,我有两张桌子需要比较 表1:XLOC ID 列A:Xloc id B列:基因id 表2:Ensembl ID A列:Ensembl id B列:基因Id 在两个表中,都有相同的基因ID名称,例如cpa6。表1中有25000个条目,表2中有46000个条目 当B列中的两个基因ID匹配时,我需要将表2的ColA中的集成ID插入表1的ColC中,并使用新数据创建一个输出文件-例如 表1: ENS0002 cpa6 表2: Xloc0014 cpa6 输出文件,表3: ENS0002 cpa6 Xloc

我有两张桌子需要比较

表1:XLOC ID 列A:Xloc id

B列:基因id

表2:Ensembl ID A列:Ensembl id

B列:基因Id

在两个表中,都有相同的基因ID名称,例如cpa6。表1中有25000个条目,表2中有46000个条目

当B列中的两个基因ID匹配时,我需要将表2的ColA中的集成ID插入表1的ColC中,并使用新数据创建一个输出文件-例如

表1:

ENS0002 cpa6

表2:

Xloc0014 cpa6

输出文件,表3:

ENS0002 cpa6 Xloc0014

。列的顺序不同,不能按字母顺序排序等。剩下的21000个条目没有相应的Xlocs,我将去掉,但可以轻松完成此post输出

有人知道如何在R、Excel或其他软件中相对容易地做到这一点吗

注意:两个表不能按相同的顺序排序,因此我确实需要使用公式/脚本/bash来完成此操作


谢谢试试这个。我创建了一个示例数据框来展示如何合并并仅保留两个表中存在的值

如您所见,新表是这两个表中存在的这些值的结果,现在您有3列,第二个表的值为


如果要保留这两个表中存在的所有行,则必须使用列gene Id以保留这两个表中存在的这些gene Id。newTable在R中,我将使用合并函数mergeTable 1,Table 2,by=cpa6

然而,我以前在Excel中做过这项工作,使用VLOOKUP函数也能很好地工作。您只需要在R中使用一个IF函数,其中包含一个嵌套的VLOOKUP:

例如:

=IF(ISERROR(VLOOKUP(C4,List1!A1:List1!A$2:A$1000,1,TRUE)), "Does NOT exist in List 1","Exists in List 1")

可能重复hello,GeneID是否重复?我的意思是,例如,在表2中,所有GeneID都是唯一的?请参见合并,您需要读取文件,然后搜索如何合并data.frames,有很多方法可以做到这一点。
newTable <- merge(tab1,tab2,by = "col1",all.x=T)
=IF(ISERROR(VLOOKUP(cell with gene name in Table1,array of cells that contain the gen names in Table2, number of the column in the array in Table2,"TRUE" so they match exactly)), Output if true, output if false).
=IF(ISERROR(VLOOKUP(C4,List1!A1:List1!A$2:A$1000,1,TRUE)), "Does NOT exist in List 1","Exists in List 1")