

Hi,

I'm writing a function that needs the input names (as characterstrings) as part of the output.
With deparse(substitute( ) ) that works fine, until I replace all zeros with 0.001 (log is calculated at some time):

tf <- function(input) { input[input==0] <- 0.001 ;   deparse(substitute(input)) }
myguess <- 42
tf(myguess)     # not "myguess", but "42"


Now when I extract the input names before replacing the zeros, this works:

tf <- function(input) { out <- deparse(substitute(input)) ;   input[input==0] <- 0.001 ;   out }
tf(myguess)     # correct: "myguess"
myguess <- 0 ; tf(myguess) # ditto


While I did find a workaround, I'm still wondering why this happens.
Any hints on where to start reading?

Thanks ahead,
Berry

PS: R version 2.15.1 (2012-06-22) -- "Roasted Marshmallows"
Windows 7  - Platform: x86_64-pc-mingw32/x64 (64-bit)



 		 	   		  
	[[alternative HTML version deleted]]


