Я хотел бы написать функцию, которая использует dplyr::filter()
внутри функции. При написании функции я столкнулся с проблемой использования имени параметра в функции, которое также является именем одного из столбцов кадра данных, который я фильтрую.
Предположим, я называю фрейм данных для фильтрации dat
:
library(dplyr)
dat <- data.frame(
a = c(1:10),
b = c(2,2,2,2,2,3,1,1,4,4)
)
и называю функцию test.filter()
,
test.filter <- function(b, test.data = dat){
dat.t <- filter(test.data,
b == b)
return(dat.t)
}
Здесь я передаю значение b
для функции и запрос ее фильтрации столбца b
на основе значения b
. Я считаю, что функция
test.filter(b = 4,
test.data = dat)
должна давать тот же результат, что и
filter(dat,
b == 4)
Однако это не так. Мне интересно, есть ли что-то, что я не рассматриваю с точки зрения объема функции. Любая помощь приветствуется!