Transformation to Other Sparse Formats
foreign.RdTransform between the spam sparse format to the
matrix.csr format of SparseM and dgRMatrix format of Matrix
Usage
as.spam.matrix.csr(x)
as.dgRMatrix.spam(x)
as.dgCMatrix.spam(x)
as.spam.dgRMatrix(x)
as.spam.dgCMatrix(x)Details
We do not provide any S4 methods and because of the existing
mechanism a standard S3 does not work.
The functions are based on require.
Notice that as.matrix.csr.spam should read as as."matrix.csr".spam.
Examples
if (FALSE) { # \dontrun{
S <- diag.spam(4)
R <- as.dgRMatrix.spam( S)
C <- as.dgCMatrix.spam( S)
as.spam.dgCMatrix(C)
slotNames(C)
slotNames(R)
# For column oriented sparse formats a transpose does not the job,
# as the slot names change.
# as.spam(R) does not work.
} # }
if (FALSE) { # \dontrun{
# for transformations between SparseM and spam:
as.matrix.csr.spam <- function(x,...) {
if (new("matrix.csr")) {
newx <- new("matrix.csr")
slot(newx,"ra",check=FALSE) <- x@entries
slot(newx,"ja",check=FALSE) <- x@colindices
slot(newx,"ia",check=FALSE) <- x@rowpointers
slot(newx,"dimension",check=FALSE) <- x@dimension
return(newx)
}
stop("function requires 'SparseM' package")
}
# then with `SparseM`: as.matrix.csr.spam( spamobject )
} # }
if (FALSE) { # \dontrun{
# a dataset contained in Matrix
data(KNex, package='Matrix')
summary( KN <- as.spam.dgCMatrix(KNex$mm) )
} # }