2014-10-31 80 views
-2

我有两个数据集如下。如何使用匹配的观察值来对数据进行子集分类?

ID  Var1 
    1  5 
    2  7 
    5  16 


    ID  V1 V2 
    1  1  5 
    1  11 55 
    1  55 12 
    2  124 58 
    2  58 99 
    3  7 6 
    3  44 88 
    4  2  6 
    4  4  99 
    5  8  11 
    5  58 12 

我想使下表只包含第一个表中的ID的子集。换句话说,我想从ID = 1,2,5的下表中选择观察值。
我的原始数据比发布的要长得多。

回答

2

使用[

dat2.subset <- dat2[dat2$ID %in% dat1$ID, ] 

使用subset

dat2.subset <- subset(dat2, ID %in% dat1$ID) 

使用连接样操作

merge(dat2, dat1, by = "ID") 
plyr::join(dat2, dat1, type = "inner") 
dplyr::inner_join(dat2, dat1) 
相关问题