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

Thomas Lumley tlumley at u.washington.edu
Thu Mar 11 20:37:20 CET 2010


On Wed, 10 Mar 2010, Henrique Dallazuanna wrote:

> On Wed, Mar 10, 2010 at 7:50 PM, Thomas Lumley <tlumley at u.washington.edu> wrote:
>> 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().
>
> I think that Is there another way:
>
> source(textConnection(AA))$value
> closeAllConnections()
>

And if you look at the code for source(), you will see that it uses parse() and eval().

     -thomas

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


More information about the R-help mailing list