| 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