Сохранить параметры в объекте и вызвать функцию - PullRequest
1 голос
/ 13 января 2020

Скажем, у меня есть операция, которую я хочу выполнить с некоторыми данными, например, используя некоторые столбцы. Есть ли способ сохранить параметры функции, в приведенном ниже примере, trim и na.rm в объекте, и просто вызывать этот объект при использовании функции, вместо того, чтобы вводить параметры каждый раз, когда я беру значение? Обратите внимание, что я не пытаюсь использовать применить, суммировать все или любой из тех типов функций, которые более эффективны в приведенном ниже примере.

## sample data
dat <- data.frame(x = 1:10,
                  y = 11:20)

## traditional appraoch
mean(dat$x, trim = 0.3, na.rm = T)
mean(dat$y, trim = 0.3, na.rm = T)

## desired functionality
parameters <- list(trim = 0.3, na.rm = T)
mean(dat$x, parameters)
mean(dat$y, parameters)

1 Ответ

1 голос
/ 13 января 2020

Мы можем обернуть его в do.call

do.call(mean,  c(list(dat$x), parameters))

Или

do.call(mean,  c(dat['x'], parameters))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...