[R] annotation problems (conditional text())

Johannes Graumann graumann at its.caltech.edu
Mon Nov 22 19:50:42 CET 2004


Thanks! Major knot in brain unraveled ...

Joh

On Sat, 20 Nov 2004 17:43:37 +0100
Uwe Ligges <ligges at statistik.uni-dortmund.de> wrote:

> Johannes Graumann wrote:
> 
> > Hello,
> > 
> > I'm trying to annotate my plots nicely and am running into trouble.
> > This example contains two problems:
> > a) the 'text()' arguments do not show the conditional behavior I'm
> > trying to give them. I try to test for the intercept of my
> > regression and reformat the output accordingly ('+ intercept' in the
> > >= 0 case and
> > '- sqrt(intercept^2)' in the other case), which doesn't work this
> > way. b) my pasted substitute commands yield jolted output, which
> > overwrites itself ...
> > 
> > Can anyone give this newbie a nudge into the right direction?
> 
> 1. Multi-line mathematical annotation is not supported. You have to
> add them line by line.
> 
> 2. You want to use a construct such as
>    if(m >= 0){
>      # code for text 1
>    } else{
>      # code for text 2
>    }
> rather than the one you speicfied below, which evaluates both text() 
> calls if m > 0.
> 
> Uwe Ligges
> 
> 
> > Thanks, Joh
> > 
> > if(m >= 0){
> >   text(
> >     4,0.19,
> >     cex=0.75,
> >     adj=0,
> >     paste(
> >       substitute(
> >         y == m*x+b,
> >         list(
> >           m=round(m,digits=5),
> >           b=round(b,digits=5)
> >         )
> >       ),
> >       "\n",
> >       substitute(
> >         R^2==rsquared,
> >         list(
> >           rsquared=round(summary(fit)$r.squared,digits=3)
> >         )
> >       )
> >     )
> >   );
> >   text(
> >     4,0.19,
> >     cex=0.75,
> >     adj=0,
> >     paste(
> >       substitute(
> >         y == m*x-b,
> >         list(
> >           m=round(m,digits=5),
> >           b=round(sqrt(b^2),digits=5)
> >         )
> >       ),
> >       "\n",
> >       substitute(
> >         R^2==rsquared,
> >         list(
> >           rsquared=round(summary(fit)$r.squared,digits=3)
> >         )
> >       )
> >     )
> >   )
> > }
> > 
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide!
> > http://www.R-project.org/posting-guide.html
> 
>




More information about the R-help mailing list