2013-10-01 25 views
-1

我有兩個數據集,一個是X和Y數據,一個是X Y和Z數據。我希望對X,Y,Z數據進行子集化,只保留與第一組的X和Y行匹配的行。R通過兩個變量組合數據幀

例子:

X Y    
1 1    
1 4    
2 7 


X Y Z    
1 1 24     
1 2 30 
1 4 15 
2 2 40  
2 5 10  
2 7 12 

我想結合這僅返回:

X Y Z  
1 1 24  
1 4 15  
2 7 12 

任何想法,將不勝感激。

+1

有答案的地段已經,這個問題在這裏可以很容易地找到(如[訂貨合併的數據幀(http://stackoverflow.com/questions/ 2041120 /訂購合併數據框) – John

回答

1

?merge

R> x <- read.table(textConnection(" 
X Y 
1 1 
1 4 
2 7"), header=TRUE) 

R> y <- read.table(textConnection(" 
X Y Z 
1 1 24 
1 2 30 
1 4 15 
2 2 40 
2 5 10 
2 7 12"), header=TRUE) 

R> merge(x, y, all=FALSE) 
    X Y Z 
1 1 1 24 
2 1 4 15 
3 2 7 12 
+0

「all = FALSE」邏輯是我所缺少的,同樣感謝您格式化我的文章。 – Rinzler

0
> file 
    X Y Z 
1 1 1 24 
2 1 2 30 
3 1 4 15 
4 2 2 40 
5 2 5 10 
6 2 7 12 
> x 
first second 
1  1  1 
2  1  4 
3  2  7 
> merge(x, file, by.x=x$first, by.y = file$X) 
    first second Z 
1  1  1 24 
2  1  4 15 
3  2  7 12 
相關問題