[R] Force a variable substitution in expression

Saptarshi Guha saptarshi.guha at gmail.com
Fri Nov 27 17:04:30 CET 2009


Hello,
I have a function that creates an expression object with some variables
substituted e.g

foo <- function(s){
  expression({
    v <- s
    print(v)
  })
}

Thus foo returns an expression, however the expression has the symbol 's'
contained within it and thus returns an error when eval'd e.g

x <- foo(10)
eval(x)
Error in eval(expr, envir, enclos) : object 's' not found

Q: How do I force a substitution so that the returned expression has the value
of 's' 'hardcoded'  in it e.g

> foo(10)

returns

expression({
  v <- 10
  print(v)
})

Regards
Saptarshi

----------
saptarshi guha | http://www.stat.purdue.edu/~sguha
It is when I struggle to be brief that I become obscure.
		-- Quintus Horatius Flaccus (Horace)




More information about the R-help mailing list