2011-08-31 29 views
1

我有2個數據幀相等的值的行和data.frame 2(a1和a2)比較兩個data.frames找到data.frame 1具有在選定的列

a1 
A B C D 
1 A 6 8 
2 D 7 3 #** 
3 X 3 3 

a2 
A B C D 
4 D 2 3 #** 
5 Z 3 5 
6 X 3 4 


a1 <- data.frame(
    A = 1:3, 
    B = c("A", "D", "X"), 
    C = c(6, 7, 3), 
    D = c(8, 3, 3) 
) 
a2 <- data.frame(
    A = 4:6, 
    B = c("D", "Z", "X"), 
    C = c(2, 3, 3), 
    D = c(3, 5, 4) 
) 

我想要得到在列B和D中具有相同值的行的元組(a1 $ A,a2 $ A)在本例中,我得到 (2,4),因爲它們在列B中具有相同的值和D分別爲D和3

+0

「a1」和「a2」的行數是否相同? –

回答

3

使用merge合併數據幀。

merged <- merge(a1, a2, c("B", "D")) 
subset(merged, select = c(A.x, A.y))