[R] determine the number of digits printed into graph with "text(...)"

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Nov 26 08:29:03 CET 2007


Your misunderstanding is that this is not 'printing'.  From ?text:

   labels: a character vector or expression specifying the _text_ to be
           written.  An attempt is made to coerce other language objects
           (names and calls) to expressions, and vectors and other
           classed objects to character vectors by 'as.character'.

If you don't want what as.character does (see its help page), you need to 
do the conversion to character yourself, e.g. by sprintf() or format().

On Sun, 25 Nov 2007, Georg Ehret wrote:

> Dear R comunity,
>   I am printing a number in a graph using "text(...)" -  see code
> below: "fraction" is my number. I wish to print only two digits of the
> number and struggle to do this... options(digit=3) does not work...
> Thank you for your suggestions! Cheers, Georg.
>
> **********************************
> Georg Ehret
> Johns Hopkins
> Baltimore
>
> callrates<-read.table("RSG",col.names=c("variant","callrate"))
> hist(callrates[,2],breaks=100)
> fraction<-nrow(callrates[callrates$callrate>=0.9,])/nrow(callrates)
> hist(callrates[,2],breaks=100)
> text(0.4,500,"proportion of callrates >= 0.9:")
> text(0.4,450,fraction)

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list