串從這些字符串評估迴歸
data = "mtcars"
y = "mpg"
x = c("cyl","disp")
,我試圖執行一個線性模型。我試着像
epp=function(x) eval(parse(text=paste0(x,collapse="+")))
lm(data=epp(data),epp(y)~epp(x))
# Error in eval(expr, envir, enclos) : object 'cyl' not found
在最後一行的目的是相當於
lm(data=mtcars,mpg~cyl+disp)
你會得到大量的人告訴你只是不這樣做,除非你提供一些詳細的上下文,我會猜測涉及某種應用程序,請求數據,x和y參數從用戶,然後運行線性模型?解釋這種背景可能會阻止誤解,並可能導致更好的答案。 – joran
@joran我的目標是爲MCMCglmm執行逐步模型選擇的功能。 –
在這種情況下,你會傳遞一個數據框名稱的字符表示而不是對象本身,這似乎很奇怪。 – joran