[R] 'format' problem
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)
>  "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> format(1234567, digits = 2)
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