Colleagues

R 2.15.1
OS X

I have a lengthy script that generates a positive number that I display in a 
graphic using text.  The range of possible values is quite large and I am 
looking for an efficient means to format.  
        1.  If the number is large (e.g., > 10^7), I want to display only the 
integer portion.
        2.  If it is less than 10^7 but > 1, I want to display 8 characters, 
e.g., 
                12345.78
                1234.678
                123.5678
        3.  If it is less than 1, I want to display at least three significant 
digits, e.g.
                0.123
                0.0123
                0.00123
                0.000123
If there are any inconsistencies in my proposal, I apologize.

I can accomplish this by brute force with conditionals, -ceiling(log10(VALUE)), 
round.  However, I expect that there is a more efficient approach, possibly 
using sprint.

For the "dput"-ers, use the following as potential input:
VALUES  <- c(123456789, 12345678, 1234567.9, 123456.89, 12345.789, 1234.6789, 
123.56789, 12.456789, 1.3456789, 0.123456789, 0.0123456789, 0.00123456789)

Thanks for any thoughts.

Dennis

Dennis Fisher MD
P < (The "P Less Than" Company)
Phone: 1-866-PLessThan (1-866-753-7784)
Fax: 1-866-PLessThan (1-866-753-7784)
www.PLessThan.com

______________________________________________
R-help@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.

Reply via email to