[R] Please, need help with a plot

Victor F Seabra vseabra at uol.com.br
Mon Jan 3 14:25:30 CET 2011


although the code somehow didn't work on my Vista / R 2.8,
it did work perfectly on a XP machine / R 2.10

I've been trying to fix this for days,
Thank you very much for your help!


______________________________________________________________________

02/01/2011 19:30, David Winsemius < dwinsemius at comcast.net > wrote:

On Jan 2, 2011, at 1:15 PM, Ben Bolker wrote:

> This is a little bit more 'magic' than I would like, but seems
> to work. Perhaps someone else can suggest a cleaner solution.

Here's the best I could come up with but will admit that there were
many failed attempts before success:

expr.vec <- as.expression(parse(text=table1$var1))
plot(x=table1$var2 ,y=1:11, xlim=c(0,20), pch=20)
text(x=table1$var2, y=1:11, labels=expr.vec, pos=4)
title(x=15, y=5, expression("Yet another way to process strings with
operators like '<=' )

(The title expression works on my machine, but perhaps not on the OP's
machine, given differences in encoding that have so far been exhibited.)


> ages <- gsub("[^0-9]+","",table1$var1)
> rel <- gsub("age\\s*([=<>]+)\\s*[0-9]+","\\1",table1$var1,perl=TRUE)
>
> with(table1,plot(var2,1:11,xlim=c(0,20),pch=20))
> invisible(with(table1,
> mapply(function(x,y,a,r) {
> text(x=x,y=y,
> switch(r,
> `<=`=bquote(age <= .(a)),
> `<`=bquote(age < .(a)),
> `>=`=bquote(age >= .(a))),
> pos=4)},
> var2,1:11,ages,rel)))
>
> ______________________________________________
> 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list