如何将非线性回归输出参数分配给变量

How to assign non-linear regression output parameter to a variable

我想使用nls函数估计的参数

我正在使用 m1<-nls(y1~v1*x/(k1+x)) 函数对数据执行非线性回归。 我可以显示存储在 m1 中的预测 v1 和 k1 值。 如何将这些值分配给特定变量(类似于 "parameter <- v1")? v1 和 k1 对象不存在 ("Error: object 'v1' not found")

>\> 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

这给出了一个系数向量

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)