On 2/24/11 1:21 PM, David Winsemius wrote:

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.

What I want to do is to control the options sent to heatmap function based on the argument input, and I dont want to have a lot of heatmap.2 commands such as

if () heatmap.2(...)
else if () heatmap.2(...)
else if () heatmap.2(...)
...

If I can control the *string* argument, then I can simply reducing the above commands to a much shorter and nicer code. Solution given by Peter and you using parse() and eval() was exactly what I asked for.

Thanks so much to both of you :).

D.

______________________________________________
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