Learn R Programming

Matrix (version 0.999375-42)

printSpMatrix: Print Sparse Matrices Flexibly

Description

Print sparse matrices flexibly. These are the workhorses used by the show and print methods for sparse matrices. If x is large, printSpMatrix2(x) calls printSpMatrix() twice, namely, for the first and the last few rows, suppressing those in between, and also suppresses columns when x is too wide.

Usage

printSpMatrix(x, digits = getOption("digits"), maxp = getOption("max.print"),
              cld = getClassDef(class(x)),
              zero.print = ".", col.names, note.dropping.colnames = TRUE,
              col.trailer = "",
              align = c("fancy", "right"))

printSpMatrix2(x, digits = getOption("digits"), maxp = getOption("max.print"), zero.print = ".", col.names, note.dropping.colnames = TRUE, suppRows = NULL, suppCols = NULL, col.trailer = if(suppCols) "......" else "", align = c("fancy", "right"))

Arguments

x
an Robject inheriting from class sparseMatrix.
digits
significant digits to use for printing, see print.default.
maxp
integer, default from options(max.print), influences how many entries of large matrices are printed at all.
cld
the class definition of x; must be equivalent to getClassDef(class(x)) and exists mainly for possible speedup.
zero.print
character which should be printed for structural zeroes. The default "." may occasionally be replaced by " " (blank); using "0" would look almost like print()ing of non-sparse matri
col.names
logical or string specifying if and how column names of x should be printed, possibly abbreviated. The default is taken from options("sparse.colnames") if that is set, otherwise
note.dropping.colnames
logical specifying, when col.names is FALSE if the dropping of the column names should be noted, TRUE by default.
col.trailer
a string to be appended to the right of each column; this is typically made use of by show() only, when suppressing columns.
suppRows, suppCols
logicals or NULL, for printSpMatrix2() specifying if rows or columns should be suppressed in printing. If NULL, sensible defaults are determined from dim(x) a
align
a string specifying how the zero.print codes should be aligned, i.e., padded as strings. The default, "fancy", takes some effort to align the typical zero.print = "." with the decimal points of the numbe

Value

See Also

the virtual class sparseMatrix and the classes extending it; maybe spMatrix as a simple constructor of such matrices.

Examples

Run this code
f1 <- gl(5, 3, labels = LETTERS[1:5])
X <- as(f1, "sparseMatrix")
X ## <==>  show(X)  <==>  print(X)
t(X) ## shows column names, since only 5 columns

X2 <- as(gl(12, 3, labels = paste(LETTERS[1:12],"c",sep=".")),
         "sparseMatrix")
X2
## less nice, but possible:
print(X2, col.names = TRUE) # use [,1] [,2] .. => does not fit

t(X2) # suppressing column names
print(t(X2), col.names=TRUE)
print(t(X2), zero.print = "", col.names="abbr. 1")
print(t(X2), zero.print = "-", col.names="substring 2")

op <- options(max.print = 25000, width = 80)
sink(print(tempfile()))
M <- Matrix(0, 10000, 100)
M[1,1] <- M[2,3] <- 3.14
stopifnot((st <- system.time(show(M)))[1] < 1.0) # only 0.09 on cmath-3
sink()
st
options(op)

Run the code above in your browser using DataLab