R,使用dplyr :: filter()和%in%将列名作为参数传递给函数

用户名

我怎么能在类似问题的函数传递一个列名在这里,但使用dplyr链接和filter()一起%in%

require(dplyr)
set.seed(8)
df <- data.frame(
  A=sample(c(1:3), 10, replace=T), 
  B=sample(c(1:3), 10, replace=T))

如果要获取列A为1或2的行,我可以这样做:

df %>% filter(A %in% c(1,2))

我得到:

  A B
1 2 3
2 1 2
3 1 3
4 2 1
5 1 1
6 1 3

现在,我如何将其放入一个可以指定列的函数中,这将不起作用:

fun1 <- function(x, column, n){
  res <- 
    x %>% filter(column %in% n)
  return(res)
}
fun1(df, A, c(1,2))
阿克伦

你可以试试

fun1 <- function(x, column, n){
 x %>% 
  filter_(lazyeval::interp(quote(x %in% y), x=as.name(column), y=n))
 }
fun1(df, 'A', 1:2)

或者

fun2 <- function(x, column, n){
   args <- as.list(match.call())
   x %>%
     filter(eval(args$column, x) %in% n)
 }

 fun2(df, A, 1:2)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将参数传递给dplyr函数

来自分类Dev

使用psycopg2将列名作为参数传递给PostgreSQL

来自分类Dev

将R函数作为参数传递给RCpp函数

来自分类Dev

如何将列名作为参数传递给dplyr?

来自分类Dev

在R中:将列名作为参数传递,并在dplyr :: mutate()和lazyeval :: interp()的函数中使用它

来自分类Dev

如何使用Cython将python函数作为参数传递给c ++函数

来自分类Dev

将值列表作为参数传递给R中的函数

来自分类Dev

R:使用用户输入将函数和参数作为参数传递给高阶函数

来自分类Dev

将字符串参数传递给函数作为dplyr中的数据框列名称

来自分类Dev

Python Pandas:应用使用列名作为命名参数的函数

来自分类Dev

在使用点表示法的函数中包括列名作为参数

来自分类Dev

将数值传递给使用dplyr的函数

来自分类Dev

如何使用dplyr :: summarise_at()将列名传递给R中的模型公式

来自分类Dev

将列名作为参数传递给R函数

来自分类Dev

如何使用quosure将filter语句作为dplyr中的函数参数传递

来自分类Dev

R dplyr将表达式作为函数的参数传递

来自分类Dev

将代码作为参数传递给R函数

来自分类Dev

使用numpy和swig将2d数组作为参数传递给函数

来自分类Dev

R-将列名作为变量传递给lapply

来自分类Dev

R:使用用户输入将函数和参数作为参数传递给高阶函数

来自分类Dev

函数内部的dplyr:将函数和列名作为参数时,将函数应用于列

来自分类Dev

将列名作为函数参数传递-R

来自分类Dev

如何将列名作为变量传递给R中的data.table?

来自分类Dev

将列名传递给使用 dplyr 函数的写入函数

来自分类Dev

R - 如何在函数中使用列名作为参数并插入模型公式

来自分类Dev

使用 dplyr mutate 将列名传递给函数而不使用折旧的 mutate_

来自分类Dev

Pandas:将多个列名作为参数传递给带有 apply 的函数

来自分类Dev

将(函数)用户指定的列名传递给 dplyr do()

来自分类Dev

将外部函数(和参数)传递给 dplyr 汇总或变异

Related 相关文章

  1. 1

    将参数传递给dplyr函数

  2. 2

    使用psycopg2将列名作为参数传递给PostgreSQL

  3. 3

    将R函数作为参数传递给RCpp函数

  4. 4

    如何将列名作为参数传递给dplyr?

  5. 5

    在R中:将列名作为参数传递,并在dplyr :: mutate()和lazyeval :: interp()的函数中使用它

  6. 6

    如何使用Cython将python函数作为参数传递给c ++函数

  7. 7

    将值列表作为参数传递给R中的函数

  8. 8

    R:使用用户输入将函数和参数作为参数传递给高阶函数

  9. 9

    将字符串参数传递给函数作为dplyr中的数据框列名称

  10. 10

    Python Pandas:应用使用列名作为命名参数的函数

  11. 11

    在使用点表示法的函数中包括列名作为参数

  12. 12

    将数值传递给使用dplyr的函数

  13. 13

    如何使用dplyr :: summarise_at()将列名传递给R中的模型公式

  14. 14

    将列名作为参数传递给R函数

  15. 15

    如何使用quosure将filter语句作为dplyr中的函数参数传递

  16. 16

    R dplyr将表达式作为函数的参数传递

  17. 17

    将代码作为参数传递给R函数

  18. 18

    使用numpy和swig将2d数组作为参数传递给函数

  19. 19

    R-将列名作为变量传递给lapply

  20. 20

    R:使用用户输入将函数和参数作为参数传递给高阶函数

  21. 21

    函数内部的dplyr:将函数和列名作为参数时,将函数应用于列

  22. 22

    将列名作为函数参数传递-R

  23. 23

    如何将列名作为变量传递给R中的data.table?

  24. 24

    将列名传递给使用 dplyr 函数的写入函数

  25. 25

    R - 如何在函数中使用列名作为参数并插入模型公式

  26. 26

    使用 dplyr mutate 将列名传递给函数而不使用折旧的 mutate_

  27. 27

    Pandas:将多个列名作为参数传递给带有 apply 的函数

  28. 28

    将(函数)用户指定的列名传递给 dplyr do()

  29. 29

    将外部函数(和参数)传递给 dplyr 汇总或变异

热门标签

归档