Я хотел бы установить функцию bar()
, которая опирается на вспомогательную функцию foo()
. Я изо всех сил пытаюсь найти самый чистый способ настройки определений переменных, поэтому мне не нужно повторять определения как в foo()
, так и в bar()
.
. Кажется, это должно работать, но это не так:
# helper function
foo <- function() {
(a + b)/(c - d)
}
# main function
bar <- function(a, b, c, d) {
z <- foo()
z * 3
}
bar(a = 1, b = 2, c = 3, d = 4)
Работает, но чувствует себя повторяющимся в определениях функций:
foo <- function(a, b, c, d) {
(a + b)/(c - d)
}
# main function
bar <- function(a, b, c, d) {
z <- foo(a, b, c, d)
z * 3
}
bar(a = 1, b = 2, c = 3, d = 4)
Работает, чтобы сначала назначить переменные глобально, но не идеально:
a <- 1
b <- 2
c <- 3
d <- 4
foo <- function() {
(a + b)/(c - d)
}
# main function
bar <- function(a, b, c, d) {
z <- foo()
z * 3
}
bar(a = a, b = b, c = c, d = d)
Есть ли способ заставить вспомогательную функцию распознавать переменные, определенные в основной функции?