у меня есть (например) следующих двух функций, и пользователь выбирает, если он хочет назвать первым f1()
и затем f2()
или вызвать только f2()
:Как передать объект между двумя независимыми функциями?
f1 <- function(a, b) {
my_sum <- a + b
return(my_sum)
}
f2 <- function(a, b, c) {
my_sum2 <- a + b + c
return(my_sum2)
}
Если пользователь сначала вызывает f1()
, а затем f2()
он знает, что ему нужны те же самые значения, которые он присвоил a
и b
, когда он позвонил f1()
, назначенным a
и b
, когда он называет f2()
. Дело в том, что если он Кальесы
x1 <- f1(a = 1, b = 2)
и при условии значения a
и b
рядом, когда он называет f2()
Я хочу, чтобы он мог обеспечить только c
аргумента и не имея снова необходимости вставить те же аргументы, a
и b
использовал его при вызове f1()
.
Например:
> x1 <- f1(a = 1, b = 2)
> x1
[1] 3
> x2 <- f2(c = 2)
Error in f2(c = 2) : argument "a" is missing, with no default
Когда он называет x2 <- f2(c = 2)
я хочу f2()
принимать значения a
и b
от x1 <- f1(a = 1, b = 2)
. Как я могу это сделать? Любая помощь будет принята с благодарностью,
Бест,
Аяла
Как о 'f2 <- функции (а, б, в) {если (отсутствует (a) & missing (b)) x1 + c else a + b + c} ' – ExperimenteR
@ExperimenteR, это предполагает, что x1 находится в глобальной среде, которая может быть не так (хотя примерный пример выше предполагает это) – vaettchen