【问题标题】:How to filter in a data frame?如何在数据框中过滤?
【发布时间】:2018-10-02 22:49:53
【问题描述】:
location    state     data
WA          WA        3
WA          Seattle

我只想让它成为状态。过滤后,我想将它存储在一个新的数据框中,例如

location    state     data
WA          WA        3

我正在尝试用 dplyr 解决这个问题,我尝试过

library(dplyr)

state_only <- filter(data, location == state)

但显然它不会起作用。有没有更好的方法?谢谢!!

【问题讨论】:

  • 对我有用,你遇到了什么错误?
  • state 是列名吗?请提供您的数据框的可重现示例。

标签: r dataframe filter dplyr


【解决方案1】:

或者,你和dplyr很亲密,试试这个:

library(dplyr)
location   <- c("WA", "WA")
state      <- c("WA", "Seattle")
data       <- c(3, NA)

mydataframe <- data.frame(location, state, data)                  

mydataframefiltered <- mydataframe %>% filter(state == "WA")

【讨论】:

    【解决方案2】:

    你可以像这样使用subset()

    location <- c("WA", "WA", "WA")
    state <- c("WA", "Seattle", "WA")
    data <- c(3, 0, 2)
    
    data <- data.frame(location = location, state = state, data = data)
    data
    
    subset(data, location == "WA" & state == "WA")
    

    我有这个输出:

      location   state data 
    1       WA      WA    3  
    2       WA Seattle    0 
    3       WA      WA    2 
    
      location state data 
    1       WA    WA    3 
    3       WA    WA    2 
    

    【讨论】:

      猜你喜欢
      • 2011-10-29
      • 2022-01-06
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-11
      • 2020-10-04
      相关资源
      最近更新 更多