conversions {apcluster} | R Documentation |
Converts a dense similarity matrix into a sparse one or vice versa
## S4 method for signature 'matrix' as.SparseSimilarityMatrix(s, lower=-Inf) ## S4 method for signature 'Matrix' as.SparseSimilarityMatrix(s, lower=-Inf) ## S4 method for signature 'sparseMatrix' as.SparseSimilarityMatrix(s, lower=-Inf) ## S4 method for signature 'matrix' as.DenseSimilarityMatrix(s, fill=-Inf) ## S4 method for signature 'Matrix' as.DenseSimilarityMatrix(s, fill=-Inf) ## S4 method for signature 'sparseMatrix' as.DenseSimilarityMatrix(s, fill=-Inf)
s |
a similarity matrix in sparse or dense format (see details below) |
lower |
cut-off threshold to apply when converting similarity
matrices into sparse format. All similarities lower than or equal to
|
fill |
value to fill in for entries that are missing from sparse
similarity matrix 's' (defaults to |
The function as.SparseSimilarityMatrix
takes a matrix argument,
removes all diagonal elements and all values that are lower than or
equal to the cut-off threshold lower
and returns a sparse
matrix of class dgTMatrix
.
If the function as.DenseSimilarityMatrix
is called for a
sparse matrix (class sparseMatrix
or any
class derived from this class), a dense matrix is returned, where all
values that were missing in the sparse matrix are replaced with
fill
.
as.DenseSimilarityMatrix
can also be called for dense
matrix
and Matrix
objects.
In this case, as.DenseSimilarityMatrix
assumes that the
matrices have three columns that encode for a sparse matrix
in the same way as the Matlab implementation of Frey's and Dueck's
sparse affinity propagation accepts it:
the first column contains 1-based row indices, the second column
contains 1-based column indices, and the third column contains the
similarity values. The same format is also accepted by
as.SparseSimilarityMatrix
to convert a sparse similarity matrix
of this format into a dgTMatrix
object.
Note that, for matrices of this format,
as.DenseSimilarityMatrix
replaces the deprectated function
sparseToFull
(see apcluster-deprecated
).
Note that as.SparseSimilarityMatrix
and
as.DenseSimilarityMatrix
are no S4 coercion methods.
There are no classes named SparseSimilarityMatrix
or DenseSimilarityMatrix
.
returns a square similarity matrix in sparse format (class
dgTMatrix
or in dense format (standard class
matrix
).
Ulrich Bodenhofer & Andreas Kothmeier apcluster@bioinf.jku.at
http://www.bioinf.jku.at/software/apcluster
Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. Science 315, 972-976. DOI: 10.1126/science.1136800.
Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. Bioinformatics 27, 2463-2464. DOI: 10.1093/bioinformatics/btr406.
## create similarity matrix in sparse format according to Frey and Dueck sp <- matrix(c(1, 2, 0.5, 3, 1, 0.2, 5, 4, -0.2, 3, 4, 1.2), 4, 3, byrow=TRUE) sp ## perform conversions as.DenseSimilarityMatrix(sp, fill=0) as.SparseSimilarityMatrix(sp) ## create dense similarity matrix cl1 <- cbind(rnorm(20, 0.2, 0.05), rnorm(20, 0.8, 0.06)) cl2 <- cbind(rnorm(20, 0.7, 0.08), rnorm(20, 0.3, 0.05)) x <- rbind(cl1, cl2) sim <- negDistMat(x, r=2) ssim <- as.SparseSimilarityMatrix(sim, lower=-0.2) ## run apcluster() on the sparse similarity matrix apres <- apcluster(ssim, q=0) apres