[R] convert expressions to characters

Yihui Xie xie at yihui.name
Thu Jan 6 00:36:15 CET 2011


I see. Thanks!

Regards,
Yihui
--
Yihui Xie <xieyihui at gmail.com>
Phone: 515-294-2465 Web: http://yihui.name
Department of Statistics, Iowa State University
2215 Snedecor Hall, Ames, IA



On Wed, Jan 5, 2011 at 4:10 PM, Duncan Murdoch <murdoch.duncan at gmail.com> wrote:
> On 11-01-05 4:47 PM, Yihui Xie wrote:
>> Hi,
>>
>> Suppose I have
>>
>> x = parse(text = "
>> {y=50+50+50#'asfasf'
>> }
>> ")
>>
>> now x is an expression with some src attributes.
>>
>>> x
>> expression({y=50+50+50#'asfasf'
>> })
>> attr(,"srcfile")
>> <text>
>> attr(,"wholeSrcref")
>>
>> {y=50+50+50#'asfasf'
>> }
>>
>> My question is, how can I get my string back (the string passed to
>> parse() as the text argument)?
>
> You can use
>
> as.character(attr(x, "wholeSrcref"))
>
> If length(x) > 1, you can get the parts corresponding to each expression
> within it as
>
> for (i in 1:length(x)) {
>
> print (as.character(attr(x, "srcref")[[i]]))
>
> }
>
> but this leaves off comments and whitespace that are not embedded within the
> expressions the way your comment is.
>
> Duncan Murdoch
>
>
>
>>
>>> as.character(x)
>> [1] "{"
>>
>> as.character() only returns "{".
>>
>>> as.character(expression({1}))
>> [1] "{"
>>> as.character(expression("1","2+3"))
>> [1] "1"   "2+3"
>>
>>
>> Thanks a lot!
>>
>> Regards,
>> Yihui
>> --
>> Yihui Xie<xieyihui at gmail.com>
>> Phone: 515-294-2465 Web: http://yihui.name
>> Department of Statistics, Iowa State University
>> 2215 Snedecor Hall, Ames, IA
>>
>> ______________________________________________
>> R-help at 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.
>
>



More information about the R-help mailing list