formatC {base} | R Documentation |
Flexible Formatting
Description
Formatting numbers individually and flexibly, using C
style
format specifications.
Usage
formatC(x, digits = NULL, width = NULL,
format = NULL, flag = "", mode = NULL)
format.char(x, width = NULL, flag = "-")
Arguments
x |
an atomic numerical or character object, typically a vector of real numbers. |
digits |
the desired number of digits after the decimal
point ( Default: 2 for integer, 4 for real numbers. If less than 0, the C default of 6 digits is used. |
width |
the total field width; if both |
format |
equal to
|
flag |
format modifier as in Kernighan and Ritchie, 2nd ed.,
page 243.
|
mode |
|
Details
If you set format
it over-rides the setting of mode
, so
formatC(123.45, mode="double", format="d")
gives 123
.
Value
A character object of same size and attributes as x
.
Unlike format
, each number is formatted individually.
Looping over each element of x
, sprintf(...)
is
called (inside the C function str_signif
).
format.char(x)
and formatC
, for character x
, do
simple (left or right) padding with white space.
Author(s)
Originally written by Bill Dunlap, later much improved by Martin Maechler, it was first adapted for R by Friedrich Leisch.
See Also
format
.
Examples
xx <- pi * 10^(-5:4)
options(digits = 4) # only for format
cbind(format(xx), formatC(xx))
cbind(formatC(xx, wid = 9, flag = "-"))
cbind(formatC(xx, dig = 5, wid = 8, format = "f", flag = "0"))
format.char(c("a", "Abc", "no way"), wid = -7) # <=> flag = "-"
formatC( c("a", "Abc", "no way"), wid = -7) # <=> flag = "-"
formatC(c((-1:1)/0,c(1,100)*pi), wid=8, dig=1)
xx <- c(1e-12,-3.98765e-10,1.45645e-69,1e-70,pi*1e37,3.44e4)
## 1 2 3 4 5 6
formatC(xx)
formatC(xx, format="fg") # special "fixed" format.
formatC(xx, format="f", dig=80)#>> also long strings