[R] set argument of a function by string variable
Duke
duke.lists at gmx.com
Fri Feb 25 23:20:39 CET 2011
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.
More information about the R-help
mailing list