https://github.com/cran/smacof
Tip revision: 9a30ff0f8e044fd46dfd0b6e8d33660def398521 authored by Jan de Leeuw on 16 March 2011, 00:00:00 UTC
version 1.1-3
version 1.1-3
Tip revision: 9a30ff0
sim2diss.R
# converts similarity matrix into dissimilarities
sim2diss <- function(similmat, method = "corr", to.dist = TRUE)
{
# similmat... similarity matrix (not necessarily symmetric, nor quadratic)
# method ... various methods allowed: "corr" for correlation matrices, "neglog", "counts" or an integer value
# to.dist ... if TRUE, it creates an object of class "dist", if FALSE a matrix.
if (method == "corr") dissmat <- sqrt(1-similmat)
if (method == "neglog") dissmat <- -log(similmat)
if (method == "counts") dissmat <- -log((similmat*t(similmat))/(outer(diag(similmat),diag(similmat))))
if (is.numeric(method)) dissmat <- method - similmat
if (to.dist) dissmat <- as.dist(dissmat)
return(dissmat)
}