[R] Please, need help with a plot
Ben Bolker
bbolker at gmail.com
Sun Jan 2 19:15:31 CET 2011
Victor F Seabra <vseabra <at> uol.com.br> writes:
>
>
> Please, I wonder if someone knows how to add the
> less than or equal to symbol in the plot generated by the code below:
> var1<-c('age <= 3','age <= 7','age <= 10','age <= 11','age <= 20','age <=
> 25','age <= 30','age <= 45','age <= 50','age < 55','age >= 55')
> var2<-c(3.8,5.4,3.7,3.8,5.9,6.4,7.2,8.4,10.5,1.3,0.7)
> table1<-data.frame(var1, var2)
> plot(x=table1$var2,y=1:11,xlim=c(0,20),pch=20)
> text(x=table1$var2,y=1:11,table1$var1,pos=4)
> title(x=15,y=5,expression("how to substitute the < = with the " <=
> "symbol"),font=5)
> Please, note that the data must come from a table (not manually fed in a
> text command)
> I received help yesterday and learned a fix using
> \u2264, eval, parse, and sprintf but the symbols generated by this fix are
> not exported to an .EPS file
> Kind regards,
This is a little bit more 'magic' than I would like, but seems
to work. Perhaps someone else can suggest a cleaner solution.
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)))
More information about the R-help
mailing list