我已经使用 拟合了一个参数函数nls
,现在我想打印出一个函数表达式,并将学习的参数替换回去。例如:
x <- runif(100, 0, 100)
m <- 13 * exp(-0.05 * x^2) + 0.1 + runif(100,0,0.1)
mod <- nls(m ~ a*exp(-b*x^2)+c, start=list(a=10,b=0.1,c=0.1))
我可以像这样提取公式和系数:
formula(mod)
# m ~ a * exp(-b * x^2) + c
coef(mod)
# a b c
# 13.00029360 0.04975388 0.14457936
但我没有看到直接替换它们的方法。我似乎唯一能做的就是再次写出公式:
substitute(m ~ a * exp(-b * x^2) + c, as.list(round(coef(mod), 4)))
# m ~ 13.0003 * exp(-0.0498 * x^2) + 0.1446
我的最终目标是从磁盘上的 RDS 文件中读取拟合对象,并在org-mode文档nls
中显示其功能表达式。