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

时间:2019-06-06 12:59:23

标签: r variables parameters variable-assignment non-linear-regression

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

我正在使用m1<-nls(y1~v1*x/(k1+x))函数对数据执行非线性回归。 我可以显示存储在m1中的v1和k1预测值。 如何将这些值分配给特定变量(“参数<-v1”之类)? v1和k1对象不存在(“错误:找不到对象'v1'”)

>\> 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 :(得分:0)

这给出了系数向量

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)