Есть ли способ «макро» ввода нескольких значений в оптимизацию для R? - PullRequest
1 голос
/ 28 марта 2020

У меня есть следующий код:

objective.function = function(r.inf, R0){
  right.side = 1 - exp(-R0 * r.inf)
  left.side = r.inf
  return(abs(right.side - left.side))
}

optimize(f = objective.function, interval = c(0,1), R0 = 1.1)

Мой вопрос: если у меня есть несколько значений R0 (например, 1, 1.2, 1.7, 4.3 ...), есть ли способ, которым я могу передать все эти значения в процедуру оптимизации сразу и выплюнуть их все, или мне нужно просто вручную изменить R0 для каждого значения?

Спасибо!

1 Ответ

1 голос
/ 28 марта 2020

используя sapply

x <- seq(1.1, 1.7, by = .1)
sapply(x, optimize, f = objective.function, interval = c(0,1))

или используя purrr

library(purrr)
map(x, ~optimize(f = objective.function, interval = c(0,1), R0 = .x))

или

map_dfr(x, ~optimize(f = objective.function, interval = c(0,1), R0 = .x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...