Передача имени столбца с пробелами в filter_ () внутри пользовательской функции - PullRequest
0 голосов
/ 30 декабря 2018

Может кто-нибудь показать мне, как заставить работать такую ​​функцию:

library(tidyverse)
## Testing Data:
dat  <- tibble(without_space=rep(c(0,1),5), `with space`=rep(c(1,0),5))
## Some custom function containing filter:
custom_filter  <- function(data, column, value){
    return(filter_(data, column==value))
}
## Expected Output:
filter(dat, `with space`==0)

## Function Call:
custom_filter(dat, `with space`, 0)

Я прочитал кое-что о Стандартной и Нестандартной оценке и поиграл с as.name(), quote() и так далее,но не смог заставить его работать.

Спасибо за помощь!

1 Ответ

0 голосов
/ 30 декабря 2018

Попробуйте:

library(tidyverse)

custom_filter  <- function(data, column, value) {

  return(filter(data, !! enquo(column) == value))

}
...