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)瞭解'曲線'文檔 –