串从这些字符串评估回归
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