提取相交元素的行数

时间:2013-03-13 11:10:58

标签: r read.table

我有两张桌子。我想从第二个表中提取单个列并将其传递到第一个表中。问题是不应该复制第二个表的列的所有行,而只复制那些第一个列与第一个表匹配的行

read.table("table1")->c
read.table("table2")->d
d[,1] %in% c[,1] ->f 

只会导致一个TRUE和FALSE的向量 - 但我需要行号,然后有一个带有匹配元素的行号的向量,我需要从表d第四列中精确提取这些行< / p>

d[,4]->g
g[vector with numbers,]->g1

有可能吗?

2 个答案:

答案 0 :(得分:3)

match

f <- d[ match(c[,1] , d[,1]) , ]

答案 1 :(得分:3)

这是一个经典的merge

merge(c,d[,c(1,4)],by=1)

如果数据表中有names,则可以在不指定by参数的情况下执行匹配。作为旁注,由于c是一个非常常见的基函数(我在这里使用过),因此它不是变量名称的绝佳选择。