2015-12-03 58 views
2

基於值的行我有一個數據幀,數據,如下圖所示:的R - 如何選擇

head(data) 
     code  x  y  z  new 
1 123456  1  2  0  654321 

3 000998  3  4  0  887765 
4 106813  4  6  0   NA 
5 222345  5  6  0  564738 
6 106815  6  5  0   NA 
7 887765  7  1  1  000998 

我想確保鏈接的數據被保存。例如,如果我的子集劃分的數據作出新的矩陣,使其既保留了行與x < 4

data2 <- subset(data,x<4) 
data2 
    Code x y z new 
1 123456 1 2 0 654321 

3 000998 3 4 0 887765 

然後我想補充任何行中的子集化的數據連續new值(數據2)等於行的code值是原始數據,就像這樣:

data3 
    Code x y z new 
1 123456 1 2 0 654321 

3 000998 3 4 0 887765 
4 887765 7 1 1 000998 
+1

@TheTimeç如果您複製data2中的行,其中條件'data $ code%in%data2 $ new'也是如此,那麼它們是有效的 –

回答

2

這是不是最漂亮的,但它的工作原理

rbind(data2, merge(data, data2[,"new", drop = FALSE], by.x = "code", by.y = "new"))