Как я могу применить фильтр в R, используя только не пропущенные аргументы функции?
Допустим, у меня есть эта функция:
extract_data <- function(.a = NA, .b = NA, .c = NA) {
df %>%
filter(a == .a,
b == .b,
c == .c)
}
Если я запускаю extract_data(.a = 1, .c == 1)
Я хотел бы, чтобы функция возвращала все строки df, где a = 1
и c = 1
, независимо от значения b
.
Очевидно, что вышеприведенная функция учитывает значение b
и будет возвращать только те строки, где a = 1
, c = 1
и b = NA
.Как я могу изменить функцию так, чтобы она игнорировала b
, если ее значение равно NA
?
Я ищу динамическое решение, поскольку у моей фактической функции больше аргументов, чем в приведенном выше примере.