https://github.com/cran/smacof
Raw File
Tip revision: a52fa5655d0f0ba4030d1a23d8a0d5b807577ff8 authored by Patrick Mair on 27 January 2015, 09:12:25 UTC
version 1.6-2
Tip revision: a52fa56
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)
}
  
                       
                    
 
back to top