Я пытаюсь использовать функцию uniroot внутри схемы трубопровода.У меня есть корневые данные по глубине, и я подгоняю модель для каждого набора года урожая и помещаю подогнанный параметр (A в этом примере) в таблицу.Ниже приведен упрощенный набор данных:
mydat <- tribble(
~crop, ~year, ~A,
"corn", 2011, 4,
"corn", 2012, 8.5,
"soy", 2011, 4.2
)
Я хочу добавить столбец, который сообщает мне значение x моей функции при y = 0.5.Следующий код работает как отдельный.
myfunc <- function(x, y, A) {2 + A * x - y}
uniroot(myfunc, y = 0.5, A = 4, lower = 0, upper = 10, extendInt = "yes")
Если я попытаюсь поместить его в схему трубопроводов, используя dplyr mutate или do, это не сработает.
mydat %>%
mutate(x50 = uniroot(myfunc, y = 0.5, A = .$A, lower = 0, upper = 10,
extendInt = "yes"))
mydat %>%
do(x50 = uniroot(myfunc, y = 0.5, A = .$A, lower = 0, upper = 10,
extendInt = "yes"))