在基本 R 中,可以轻松过滤到两列相等的行,如下所示:

mtcars[mtcars$cyl==mtcars$carb,]

使用 dplyrfilter 这可以很容易地完成
mtcars %>% filter(cyl==carb)

但是,如果我使用此代码编写函数,我想使用 filter_ ,但此代码不起作用
mtcars %>% filter_("cyl"=="carb")

因为在这种情况下它认为“carb”是一个要测试的值而不是一个变量。

我的问题是如何使用 filter_ 来比较 data.frame 中的两个变量?

最佳答案

把整件事放在引号中:

mtcars %>% filter_("cyl==carb")

或者,正如 effel 已经建议的那样,这也可以:
mtcars %>% filter_(~cyl==carb)

关于r - dplyr:过滤 data.frame 中两列相等的地方,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36139624/

10-12 19:58