[R] How to take out the content of character string

Thomas Lumley tlumley at u.washington.edu
Wed Mar 10 23:50:30 CET 2010


On Wed, 10 Mar 2010, baptiste auguie wrote:

> Hi,
>
> it's generally considered a bad practice but try this,
>
> eval(parse(text=AA))
>
> library(fortunes)
> fortune(106)
>
> HTH,
>
> baptiste
>
> On 10 March 2010 07:46, jq81 <jingqian81 at gmail.com> wrote:
>>
>> My question is represented by the following example.
>>
>> For example, I have a character string a, which is defined as
>>
>> AA="list(x=1, y=2)"
>>
>> I want to take out the content of AA by using some function, so that I can
>> obtain the following expression automatically.
>>
>> list(x=1, y=2)
>>

This is the situation where it isn't considered bad practice.  If someone hands you a string with code in it, the only way to parse it is with parse().

The problem with eval(parse()) is when people use it to do macro processing or other things that are much better done with expressions.

     -thomas

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle



More information about the R-help mailing list