尝试过滤()列因素

时间:2019-05-13 22:05:10

标签: r filter dplyr

我有一个数据帧brfss2013,其中包含330个变量和491775 obs。

一个变量是

brfss2013$sex
2 levels... Factor w/ 2 levels "Male","Female": 2 2 2 2 1 2 2 2 1 2 ...

我要做的就是将所有“女性”过滤到一个名为“ 女性” 的数据框中。

我尝试过:

females <- filter(brfss2013$sex, sex == 'Female')
Error in UseMethod("filter_") : 
  no applicable method for 'filter_' applied to an object of class "factor"

females <-  filter(as.character(brfss2013$sex == 'Female'))
Error in UseMethod("filter_") : 
  no applicable method for 'filter_' applied to an object of class "character"

对此有何想法?

1 个答案:

答案 0 :(得分:1)

问题来自过滤器语法。在寻找数据帧brfss2013$sex时,可以将向量brfss2013作为过滤函数的第一个参数。更正后,过滤器函数可用于返回仅包含性别变量等于“女性”的行的数据框:

library(dplyr)
females <- filter(brfss2013, sex == "Female")