This group of functions evaluates and coerces changes in class structure.
spam(x, nrow = 1, ncol = 1, eps = .Spam$eps) as.spam(x, eps = .Spam$eps) is.spam(x)
- is a matrix (of either dense or sparse form), a list, vector object or a distance object
- number of rows of matrix
- number of columns of matrix
- A tolerance parameter: elements of
abs(x) < epsset to zero. Defaults to
eps = .Spam$eps
x is a list, it should contain either two or three elements. In case of the former, the list should contain a
n by two matrix of indicies (called
ind) and the values. In case of the latter, the list should contain three vectors containing the row, column indices (called
j) and the values. In both cases partial matching is done. In case there are several triplets with the same
j, the values are added.
eps should be at least as large as
Reinhard Furrer, Stephan R. Sain (2010). "spam: A Sparse Matrix R Package with Emphasis on MCMC Methods for Gaussian Markov Random Fields.", Journal of Statistical Software, 36(10), 1-25, http://www.jstatsoft.org/v36/i10/.
The zero matrix has the element zero stored in (1,1).
The functions do not test the presence of
NA/NaN/Inf. Virtually all call a Fortran routine with the
NAOK=NAOK argument, which defaults to
FALSE resulting in an error. Hence, the
NaN do not always properly propagate through (i.e.
spam is not IEEE-754 compliant).
SPAM for a general overview of the package;
spam.options for details about the
foreign to create
spam matrices from MatrixMarket files and from certain Matrix or SparseM formats.
# old message, do not loop, when you create a large sparse matrix set.seed(13) nz <- 128 ln <- nz^2 smat <- spam(0,ln,ln) is <- sample(ln,nz) js <- sample(ln,nz) system.time(for (i in 1:nz) smat[is[i], js[i]] <- i) system.time(smat[cbind(is,js)] <- 1:nz) getClass("spam") spam.options(NAOK=TRUE) as.spam( c(1, NA))
Documentation reproduced from package spam, version 1.3-0. License: LGPL-2