format.df
does appropriate rounding and decimal alignment, and outputs
a character matrix containing the formatted data. If x
is a
data.frame
, then do each component separately.
If x
is a matrix, but not a data.frame, make it a data.frame
with individual components for the columns.
If a component x$x
is a matrix, then do all columns the same.
format.df(x, digits, dec=NULL, rdec=NULL, cdec=NULL,
numeric.dollar=!dcolumn, na.blank=FALSE, na.dot=FALSE,
blank.dot=FALSE, col.just=NULL, cdot=FALSE,
dcolumn=FALSE, matrix.sep=' ', scientific=c(-4,4),
math.row.names=FALSE, already.math.row.names=FALSE,
math.col.names=FALSE, already.math.col.names=FALSE,
double.slash=FALSE, format.Date="%m/%d/%Y",
format.POSIXt="%m/%d/%Y %H:%M:%OS", ...)
a character matrix with character images of properly rounded x
.
Matrix components of input x
are now just sets of columns of
character matrix.
Object attribute"col.just"
repeats the value of the argument col.just
when provided,
otherwise, it includes the recommended justification for columns of output.
See the discussion of the argument col.just
.
The default justification is l for characters and factors,
r for numeric.
When dcolumn==TRUE
, numerics will have . as the justification character.
a matrix (usually numeric) or data frame
causes all values in the table to be formatted to digits
significant
digits. dec
is usually preferred.
If dec
is a scalar, all elements of the matrix will be rounded
to dec
decimal places to the right of the decimal. dec
can also be a matrix
whose elements correspond to x
, for customized rounding of each element.
A matrix dec
must have number of columns equal to number of columns
of input x
.
A scalar dec
is expanded to a vector cdec
with number of
items equal to number of columns of input x
.
a vector specifying the number of decimal places to the right for each row
(cdec
is more commonly used than rdec
)
A vector rdec
must have number of items equal to number of rows of input x
.
rdec
is expanded to matrix dec
.
a vector specifying the number of decimal places for each column. The vector must have number of items equal to number of columns or components of input x.
Set to TRUE
to use centered dots rather than ordinary periods in numbers.
The output uses a syntax appropriate for latex
.
Set to TRUE
to use blanks rather than NA
for missing values.
This usually looks better in latex
.
Set to TRUE
to use David Carlisle's dcolumn style for
decimal alignment in latex
.
Default is FALSE
. You will probably want to
use dcolumn
if you use rdec
, as a column may then contain varying
number of places to the right of the decimal. dcolumn
can line up
all such numbers on the decimal point, with integer values right
justified at the decimal point location of numbers that actually
contain decimal places. When you use dcolumn = TRUE
,
numeric.dollar
is set by default to FALSE
. When you
use dcolumn = TRUE
, the
object attribute "style"
set to dcolumn as the
latex
usepackage
must reference [dcolumn]
.
The three files dcolumn.sty
, newarray.sty
, and
array.sty
will
need to be in a directory in your TEXINPUTS
path.
When you use dcolumn=TRUE
, numeric.dollar
should be set to FALSE
.
logical, default !dcolumn
. Set to TRUE
to place dollar
signs around numeric values when dcolumn = FALSE
. This
assures that latex
will use minus signs rather than hyphens to indicate
negative numbers. Set to FALSE
when dcolumn = TRUE
, as
dcolumn.sty
automatically uses minus signs.
logical, set true to place dollar signs around the row names.
set to TRUE
to prevent any math
mode changes to row names
logical, set true to place dollar signs around the column names.
set to TRUE
to prevent any math
mode changes to column names
Set to TRUE
to use periods rather than NA
for missing
numeric values.
This works with the SAS convention that periods indicate missing values.
Set to TRUE
to use periods rather than blanks for missing character values.
This works with the SAS convention that periods indicate missing values.
Input vector col.just
must have number of columns equal to
number of columns of the output matrix. When NULL
, the
default, the col.just
attribute of the result is set to
l for character columns and to r for numeric
columns. The user can override the default by an argument vector
whose length is equal to the number of columns of the result matrix.
When format.df
is called by latex.default
, the
col.just
is used as the cols
argument to the
tabular
environment and the letters l, r,
and c are valid values. When format.df
is called by
SAS, the col.just
is used to determine whether a
\$ is needed on the input line of the sysin
file,
and the letters l and r are valid values. You can
pass specifications other than l,r,c
in col.just
,
e.g., "p{3in}"
to get paragraph-formatted columns from
latex()
.
When x
is a data frame containing a matrix, so that new column names
are constructed from the name of the matrix object and the names of
the individual columns of the matrix, matrix.sep
specifies the
character to use to separate object names from individual column
names.
specifies ranges of exponents (or a logical vector) specifying values
not to convert to scientific notation. See format.default
for details.
should escaping backslashes be themselves escaped.
String used to format objects of the Date class.
String used to format objects of the POSIXt class.
other arguments are accepted and passed to format.default
.
For latexVerbatim
these arguments are passed to the
print
function.
Frank E. Harrell, Jr.,
Department of Biostatistics,
Vanderbilt University,
fh@fharrell.com
Richard M. Heiberger,
Department of Statistics,
Temple University, Philadelphia, PA.
rmh@temple.edu
latex
if (FALSE) {
x <- data.frame(a=1:2, b=3:4)
x$m <- 10000*matrix(5:8,nrow=2)
names(x)
dim(x)
x
format.df(x, big.mark=",")
dim(format.df(x))
}
Run the code above in your browser using DataLab