在R中获取给定列的多个值的行

时间:2015-03-25 20:35:56

标签: r dataframe

我有一个返回下表的数据框(例如)

  ID      AVG        SIG     
 5X1PK  0.2712   0.004780167 
 DF5TB  39.4279  59.3092     
 5X1PK  64.8847  0.3614      
 DJII2  59.6743  26.7279     
 DRQUW  43.8942  0.2261      
 DRQUU  44.0606  0.128       
 DRQUW  43.6278  0.1562      

我可以使用此公式

获取列的一个值的行
data2 <- data1[data1$ID == ('5X1PK'),]

假设,我想获取ID的所有行(5X1PK,DRQUW,DRQUU),然后我想要的所需输出

  ID      AVG        SIG     
 5X1PK  0.2712   0.004780167 
 5X1PK  64.8847  0.3614      
 DRQUW  43.8942  0.2261      
 DRQUU  44.0606  0.128       
 DRQUW  43.6278  0.1562      

如何在一个表中获取多个ID值的行?

2 个答案:

答案 0 :(得分:3)

您可以使用%in%。例如,

data2 <- data1[data1$ID %in% c("5X1PK", "DRQUW", "DRQUU"), ]
data2
#      ID     AVG         SIG
# 1 5X1PK  0.2712 0.004780167
# 3 5X1PK 64.8847 0.361400000
# 5 DRQUW 43.8942 0.226100000
# 6 DRQUU 44.0606 0.128000000
# 7 DRQUW 43.6278 0.156200000

答案 1 :(得分:1)

这也有效......

data2 <- data1[data1$ID == '5X1PK',]

要选择多个ID,您可以添加到代码中,如下所示:

data2 <- data1[data1$ID == '5X1PK' | data1$ID =='DF5TB',]