小编x85*_*s16的帖子

使用dplyr :: filter问题创建R函数

我已经查看了其他答案,但找不到下面代码的解决方案.基本上,我正在创建一个函数,inner_join即两个数据框并filter基于函数中输入的列.

问题是filter函数的一部分不起作用.但是,如果我将函数过滤掉并将其追加,它就可以工作mydiff("a") %>% filter(a.x != a.y)

任何建议都有帮助.

请注意,我是引号中的函数输入

library(dplyr)

# fake data
df1<- tibble(id = seq(4,19,2), 
             a = c("a","b","c","d","e","f","g","h"), 
             b = c(rep("foo",3), rep("bar",5)))
df2<- tibble(id = seq(10, 20, 1), 
             a = c("d","a", "e","f","k","m","g","i","h", "a", "b"),
             b = c(rep("bar", 7), rep("foo",4)))

# What I am trying to do
dplyr::inner_join(df1, df2, by = "id") %>% select(id, b.x, b.y) %>% filter(b.x!=b.y)

#> # A tibble: 1 x 3
#>      id b.x   b.y  
#>   <dbl> <chr> …
Run Code Online (Sandbox Code Playgroud)

r filter dplyr tidyeval rlang

6
推荐指数
2
解决办法
736
查看次数

标签 统计

dplyr ×1

filter ×1

r ×1

rlang ×1

tidyeval ×1