Как назначить выходной параметр нелинейной регрессии для переменной - PullRequest
0 голосов
/ 06 июня 2019

Я хотел бы использовать параметры, оцененные функцией nls

Я выполняю нелинейную регрессию данных, используя функцию m1<-nls(y1~v1*x/(k1+x)).Я могу отобразить прогнозируемые значения v1 и k1, которые хранятся в m1.Как я могу присвоить эти значения определенной переменной (своего рода «параметр <- v1»)?Объекты v1 и k1 не существуют («Ошибка: объект« v1 »не найден») </p>

>\> m1<-nls(y1~v1*x/(k1+x))

>\> m1

> Nonlinear regression model
>  model: y1 ~ v1 * x/(k1 + x)

>   data: parent.frame()

>   v1    k1 

> 16.83 30.05 

> residual sum-of-squares: 0.8571

> Number of iterations to convergence: 5

> Achieved convergence tolerance: 1.4e-06

>\> parameter <- v1
>
Error: object 'v1' not found

1 Ответ

0 голосов
/ 06 июня 2019

Это дает вектор коэффициентов

co <- coef(m1)

, и это дает их индивидуально:

v1 <- coef(m1)[["v1"]]
k1 <- coef(m1)[["k1"]]

или если вы просто хотите вычислить выражение с использованием коэффициентов:

with(as.list(coef(m1)), k1 + v1)

Это будет работать для копирования всех отдельных элементов coef(m1) в ваше рабочее пространство:

list2env(as.list(coef(m1)), .GlobalEnv)
...