[R] 'format' problem
David Brahm
brahm at alum.mit.edu
Mon Aug 4 17:48:29 CEST 2003
Timur Elzhov <Timur.Elzhov at jinr.ru> wrote:
> format(1234567, digits = 2)
> [1] "1234567"
> but I'd like the last number to be represented as "1.2e+06" string too.
R chooses "1234567" instead of "1.2e+06" because it has fewer or equal number
of characters (equal in this case).
In R-devel (which will become R-1.8.0, as I understand it), an options(scipen)
has been added which penalizes scientific notation by an additional number of
characters. In your case, a negative penalty would do the trick:
R-devel> options(scipen=-9)
R-devel> format(1234567, digits = 2)
[1] "1.2e+06"
However, unless you feel like compiling a development version or waiting
until 1.8.0, Andrew C. Ward's <s195404 at student.uq.edu.au> suggestion is
probably the simpler way to go:
Ward> sprintf("%.1e", 1234567)
--
-- David Brahm (brahm at alum.mit.edu)
More information about the R-help
mailing list