【问题标题】:Getting rows given multiple values of a column in R在R中获取给定列的多个值的行
【发布时间】:2015-05-29 17:37:18
【问题描述】:

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

  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 值的行?

【问题讨论】:

  • 请以更友好的reproducible 格式输入您的数据。另外,请举例说明您想要的输出。我不清楚你到底想做什么。
  • @MrFlick 感谢您指出这一点,我对其进行了编辑以更清楚地显示所需的输出。

标签: r dataframe


【解决方案1】:

您可以使用%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

【讨论】:

    【解决方案2】:

    这也有效...

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

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

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

    【讨论】:

    • 谢谢!!像魅力一样工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 2018-11-02
    • 2014-10-04
    • 2014-04-15
    相关资源
    最近更新 更多