On Thu, Feb 24, 2011 at 10:03 AM, Duke <duke.li...@gmx.com> 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?

Of course (this is R, after all :)). Here's one solution:

fnc = "heatmap.2"
arguments = "A, col=greenred(75)"

eval(parse(text = paste(fnc, "(", arguments, ")")))

Example:

f = function(a, b) { a+b }
fnc= "f"
arguments = "a = 2,  b=3";
eval(parse(text = paste(fnc, "(", arguments, ")")))
[1] 5

Peter

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to