我是 R 新手,我经常对不存在或不需要其他语言的数据结构感到困惑。
目前,我正在尝试将“语言”类型的对象转换为“表达式”,以便我可以绘制它。
首先,我创建要绘制的函数:
> model <- nls(y~a+b*exp(x*z),start = list(a=1, b = -.5, z = -.8),data=results)
> modelsym <- substitute(a+b*exp(z*x), list(a=coef(model[1],b=coef(model)[2],z=coef(model)[3]))
该函数属于“语言”类型:
> modelsym
0.958945264470923 + -0.463676594301167 * exp(-0.155697065390677 * x)
> typeof(modelsym)
[1] "language"
如果我尝试绘制这条曲线:
> curve(modelsym)
Error in eval(expr, envir, enclos) : could not find function "modelsym"
但是,如果我复制并粘贴它可以正常工作:
> curve(0.958945264470923 + -0.463676594301167 * exp(-0.155697065390677 * x))
**[plot appears here]**
我试过as(modelsym,expression)
无济于事。
我怎样才能将我的对象转换modelsym
为一个expression
以绘制它?