Powiedz, że mam operację, którą chcę wykonać na przykład na niektórych danych, biorąc środki niektórych kolumn. Czy jest jakiś sposób, w jaki mogę zapisać parametry funkcji, w poniższym przykładzie, {x0}} i na.rm w obiekcie i po prostu zadzwonić do tego obiektu podczas korzystania z funkcji, zamiast wpisać parametry w Za każdym razem biorę? Uwaga Uwaga, nie próbuję użyć Zastosuj, podsumuj wszystkiego lub którykolwiek z tych typów funkcji, które są bardziej wydajne w poniższym przykładzie.

## 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)
r
1
DJC 13 styczeń 2020, 21:15

1 odpowiedź

Najlepsza odpowiedź

Możemy go owinąć w do.call

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

Lub

do.call(mean,  c(dat['x'], parameters))
1
akrun 13 styczeń 2020, 18:17