【问题标题】:subset a dataframe by a list on column通过列上的列表子集数据框
【发布时间】:2022-01-22 23:43:45
【问题描述】:

我有一个类似的数据框,比如说df

x1    x2    x3    
Tom   Grad  35K  
Ada   Secon 21K
John  Grad  47K
Vic   PhD   52K

我需要对术语列表进行子集化,例如:listOfTerms <- c("John", "Nash", "Vic", Mary"),应对照df$x1 进行检查,从而生成显示相关行的输出。 我很难弄清楚该怎么做,你能帮帮我吗?

【问题讨论】:

  • df[df$x1 %in% listOfTerms,]subset(df, x1 %in% listOfTerms)?
  • 这适用于给定的示例,但不幸的是不适用于我的实际数据:(实际上这是我使用的方式,它有效。我不明白为什么它不适用于我的数据:( 谢谢
  • 我的数据集中有一个错误:|非常感谢!

标签: r dataframe


【解决方案1】:

这是一个选项。

library(dplyr)

mydata <- data.frame(x1 = c("Tom", "Ada", "John", "Vic"), 
                     x2 = c("Grad", "Secon", "Grad", "PhD"),
                     x3 = c("35k", "21k", "47k", "52k"))

listOfTerms <- c("John", "Nash", "Vic")

subset <- mydata %>%
  filter(x1 %in% listOfTerms)

【讨论】:

    猜你喜欢
    • 2019-11-12
    • 2017-07-21
    • 2016-05-14
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    相关资源
    最近更新 更多