formatSparseM {Matrix} R Documentation

## Formatting Sparse Numeric Matrices Utilities

### Description

Utilities for formatting sparse numeric matrices in a flexible way. These functions are used by the format and print methods for sparse matrices and can be applied as well to standard R matrices. Note that all arguments but the first are optional.

formatSparseM() is the main “workhorse” of formatSpMatrix, the format method for sparse matrices.

.formatSparseSimple() is a simple helper function, also dealing with (short/empty) column names construction.

### Usage

formatSparseM(x, zero.print = ".", align = c("fancy", "right"),
m = as(x,"matrix"), asLogical=NULL, uniDiag=NULL,
digits=NULL, cx, iN0, dn = dimnames(m))

.formatSparseSimple(m, asLogical=FALSE, digits=NULL,
col.names, note.dropping.colnames = TRUE,
dn=dimnames(m))


### Arguments

 x an R object inheriting from class sparseMatrix. zero.print character which should be used for structural zeroes. The default "." may occasionally be replaced by " " (blank); using "0" would look almost like print()ing of non-sparse matrices. align a string specifying how the zero.print codes should be aligned, see formatSpMatrix. m (optional) a (standard R) matrix version of x. asLogical should the matrix be formatted as a logical matrix (or rather as a numeric one); mostly for formatSparseM(). uniDiag logical indicating if the diagonal entries of a sparse unit triangular or unit-diagonal matrix should be formatted as "I" instead of "1" (to emphasize that the 1's are “structural”). digits significant digits to use for printing, see print.default. cx (optional) character matrix; a formatted version of x, still with strings such as "0.00" for the zeros. iN0 (optional) integer vector, specifying the location of the non-zeroes of x. col.names, note.dropping.colnames see formatSpMatrix. dn dimnames to be used; a list (of length two) with row and column names (or NULL).

### Value

a character matrix like cx, where the zeros have been replaced with (padded versions of) zero.print. As this is a dense matrix, do not use these functions for really large (really) sparse matrices!

### Author(s)

Martin Maechler

formatSpMatrix which calls formatSparseM() and is the format method for sparse matrices.
printSpMatrix which is used by the (typically implicitly called) show and print methods for sparse matrices.

### Examples

m <- suppressWarnings(matrix(c(0, 3.2, 0,0, 11,0,0,0,0,-7,0), 4,9))
fm <- formatSparseM(m)
noquote(fm)
## nice, but this is nicer {with "units" vertically aligned}:
print(fm, quote=FALSE, right=TRUE)
## and "the same" as :
Matrix(m)

## align = "right" is cheaper -->  the "." are not aligned:
noquote(f2 <- formatSparseM(m,align="r"))
stopifnot(f2 == fm   |   m == 0, dim(f2) == dim(m),
(f2 == ".") == (m == 0))


[Package Matrix version 1.4-1 Index]