From these strings
data = "mtcars"
y = "mpg"
x = c("cyl","disp")
# Error in eval(expr, envir, enclos) : object 'cyl' not found
This involves two operations that are both described in multiple SO entries that use perhaps singly either the
lm(data=get(data), formula=as.formula( paste( y, "~", paste(x, collapse="+") ) ) )
In both cases you are use a text/character object to return a language object. In the first argument
get returns a 'symbol' that can be evaluated and in the second instance
as.formula returns a 'formula' object.