[R] converting "call" objects into character

David Winsemius dwinsemius at comcast.net
Sun Apr 3 18:42:20 CEST 2011


On Apr 3, 2011, at 12:14 PM, Samuel Le wrote:

> Dear all,
>
>
>
> I would like to log the calls to my functions. I am trying to do  
> this using the function match.call():

fTest<-function(x)

{  theCall<-match.call()
       print(theCall)
       return(list(x=x, logf = theCall))
}

>
 > fTest(x=2)$x
[1] 2
 > fTest(x=2)$logf
fTest(x = 2)
 > str(fTest(x=2)$logf)
  language fTest(x = 2)

You may want to convert that  call component to a character object,  
since:

 > cat(fTest(x=2)$logf)
Error in cat(list(...), file, sep, fill, labels, append) :
   argument 1 (type 'language') cannot be handled by 'cat'

>
> I can see "theCall" printed into the console, but I don't manage to  
> convert it into a character to write it into a log file with other  
> informations.
>
> Can anyone help?



David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list