Я хочу использовать dplyr::summarise_at
для коллекции столбцов с функциональным объектом, который использует дополнительную переменную.
Например, рассмотрим следующий кадр данных с двумя числовыми переменными и индикатором.
library(dplyr, warn.conflicts = FALSE)
t1 <- data.frame(lg = c(TRUE, FALSE, TRUE, FALSE),
x1 = 1:4,
x2 = 5:8)
Использование dplyr::funs()
внутри summarise_at
работает:
t1 %>% summarise_at(c("x1", "x2"), funs(mean(. * lg)))
#> x1 x2
#> 1 1 3
Однако я предпочитаю передавать объект function
в summarise_at
- вместо вызова dplyr::funs()
- чтобы R CMD Check
не жаловался на неизвестную переменную .
.
К сожалению, когда я пытаюсь это сделать, summarise_at
не может найти переменную индикатора lg
.
t1 %>% summarise_at(c("x1", "x2"), function(x) mean(x * lg))
#> Error in summarise_impl(.data, dots): Evaluation error: object 'lg' not found.
Следовательно, есть ли способ передать объект функции в summarise_at
с дополнительными переменными внутри объекта функции таким образом?