format {base}R Documentation

Encode in a Common Format

Description

Format an R object for pretty printing: format.pval is intended for formatting p-values.

Usage

format(x, ...)
format.AsIs(x, width = 12, ...)
format.data.frame(x, ..., justify = "none") 
format.default(x, trim = FALSE, digits = getOption("digits"),
               justify = c("left", "right", "none"))
format.factor(x, ...)
format.pval(pv, digits = max(1, getOption("digits") - 2),
            eps = .Machine$double.eps, na.form = "NA")

Arguments

x any R object (conceptually); typically numeric.
trim logical; if TRUE, leading blanks are trimmed off the strings.
digits how many significant digits are to be used for numeric x. This is a suggestion: enough decimal places will be used so that the smallest (in magnitude) number has this many significant digits.
justify should character vector be left-justified, right-justified or left alone. When justifying, the field width is that of the longest string.
pv a numeric vector.
na.form character representation of NAs.
width the returned vector has elements of at most width.

Details

These functions convert their first argument to a vector (or array) of character strings which have a common format (as is done by print), fulfilling length(format*(x, *)) == length(x). The trimming with trim = TRUE is useful when the strings are to be used for plot axis annotation.

format.AsIs deals with columns of complicated objects that have been extracted from a data frame.

format.pval is mainly an auxiliary function for print.summary.lm etc., does separate formatting for fixed, floating point and very small values (those < eps).

The function formatC provides a rather more flexible formatting facility for numbers, but does not provide a common format for several numbers.

format.data.frame formats the data frame column by column, applying the appropriate method of format for each column. The result is a data frame, so in most cases

Note

Currently format drops trailing zeroes, so format(6.001, digits=2) gives "6" and format(c(6.0, 13.1), digits=2) gives c(" 6", "13").

Character(s) " in input strings x are escaped to \".

See Also

formatC, paste, as.character.

Examples

format(1:10)

zz <- data.frame("(row names)"= c("aaaaa", "b"), check.names=FALSE)
format(zz)
format(zz, justify="left")

## handling of quotes
zz <- data.frame(a=I("abc"), b=I("def\"gh"))
format(zz)

p <- c(47,13,2,.1,.023,.0045, 1e-100)/1000
format.pval(p)
format.pval(p / 0.9)
format.pval(p / 0.9, dig=3)