Как добавить аргумент в выполняемую функцию R? - PullRequest
0 голосов
/ 01 апреля 2020

Если я выполнил функцию, но не указал один аргумент, но когда мне «добавить» аргумент позже, как бы я это сделал?

Важно отметить, что я хочу сохранить параметры установить при первом запуске и просто добавить параметр во второе выполнение.

test.fun <- function(a, b = NULL) {

  if (b) {
    c <- a * 2 * b
  }

  else {
    c <- a * 2
  }

  return(c)
}




fun <- test.fun(2)

new_fun <- fun(# plus argument b = 4)

Ответы [ 2 ]

1 голос
/ 01 апреля 2020

Вот один из способов сделать это с missing и вернуть список со значением и параметрами:

test.fun <- function(a, b = NULL) {

  if (!missing(b)) {
    c <- a * 2 * b
  }

  else {
    c <- a * 2
  }

  return(list(value = c, arguments = list(a = a, b = b)))
}




fun <- test.fun(2)
new_fun <- test.fun(a = fun$arguments$a, b = 4)
1 голос
/ 01 апреля 2020

Вы хотите

new_fun <- function(a) {
  test.fun(a, 4)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...