3
早上好,用绳子
我被困在河串和表达式类型转换我想绘制一条曲线(使用曲线()函数)定义曲线(),有一个公式由一个字符串定义如下:
curve(x^3)
## Ok, generates a curve as expected
qq<-"x^3"
curve(qq)
Error in UseMethod("qq") :
no applicable method for 'qq' applied to an object of class "c('double', 'numeric')"
我可以理解,第一个arg应该是一个表达式。
curve(expr=expression(qq))
Error in curve(expr = expression(qq)) :
'expr' must be a function, or a call or an expression containing 'x'
那我不明白:我的表达()的理解,从这个男人,是 “......表达式返回类型矢量‘表达’它的参数包含(未评估)。”
那么,我必须做什么来绘制曲线与一个由字符串qq的内容定义的方程?
感谢
JF
的确,您的解决方案可行(谢谢!)。不过,我仍然不确定我是否理解了原因。在这里,您将字符串转换为函数,并使用curve()函数处理函数。没有什么不对,但为什么不能从字符串qq生成一个表达式,并直接将它用于curve()?我并不介意eval(parse())这么多,但为什么'curve(expr = eval(parse(text = qq)))'或'curve(expr = parse(text = qq))'不起作用? – jfmoyen
阅读我答案的第一句话。 – Roland
(+1)了解'曲线'文档 –