我有兩個數據集,一個是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
任何想法,將不勝感激。
我有兩個數據集,一個是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
任何想法,將不勝感激。
見?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
「all = FALSE」邏輯是我所缺少的,同樣感謝您格式化我的文章。 – Rinzler
> 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
有答案的地段已經,這個問題在這裏可以很容易地找到(如[訂貨合併的數據幀(http://stackoverflow.com/questions/ 2041120 /訂購合併數據框) – John