[R] set argument of a function by string variable

David Winsemius dwinsemius at comcast.net
Thu Feb 24 19:21:33 CET 2011


On Feb 24, 2011, at 1:03 PM, Duke wrote:

> Hi folks,
>
> I am wondering if the following is possible: I want to control the  
> arguments sent to a function by string variables. For example,  
> instead of
> > heatmap.2( A, col=greenred(75) )
> I would want to have something like:
> > heatmap.2 ( paste(A, "col=greenred(75)", sep=",") )
>
> Is this possible to do that?

It is possible (to do various things), but that would fail. You would  
need to pass a character argument to parse() and then eval() but   
probably not in the argument list. And there are possibly much cleaner  
ways of doing what you want to achieve. Can you describe "what you  
want to achieve" in more detail? An example that presents R objects is  
the accepted manner for posing such questions.

If you plan to redefine heatmap.2, it might be as simple as:

require(gplots)
heatmap.2A.rg <-  function(A, col, ...) {heatmap.2(x= A,  
col=greenred(75), ... )}

--
David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list