Type: Package
Title: Landmark Multi-Dimensional Scaling
Version: 0.1.0
Description: A fast dimensionality reduction method scaleable to large numbers of samples. Landmark Multi-Dimensional Scaling (LMDS) is an extension of classical Torgerson MDS, but rather than calculating a complete distance matrix between all pairs of samples, only the distances between a set of landmarks and the samples are calculated.
License: GPL-3
Encoding: UTF-8
LazyData: true
Imports: assertthat, dynutils (≥ 1.0.3), irlba, Matrix
Suggests: testthat
RoxygenNote: 6.1.1
URL: http://github.com/dynverse/lmds
BugReports: https://github.com/dynverse/lmds/issues
Collate: 'cmdscale_landmarks.R' 'select_landmarks.R' 'lmds.R' 'package.R'
NeedsCompilation: no
Packaged: 2019-09-19 12:12:04 UTC; rcannood
Author: Robrecht Cannoodt ORCID iD [aut, cre] (github: rcannood), Wouter Saelens ORCID iD [aut] (github: zouter)
Maintainer: Robrecht Cannoodt <rcannood@gmail.com>
Repository: CRAN
Date/Publication: 2019-09-27 09:10:02 UTC

Landmark MDS

Description

A fast dimensionality reduction method scaleable to large numbers of samples. Landmark Multi-Dimensional Scaling (LMDS) is an extension of classical 'Torgerson MDS', but rather than calculating a complete distance matrix between all pairs of samples, only the distances between a set of landmarks and the samples are calculated.

A fast dimensionality reduction method scaleable to large numbers of samples. Landmark Multi-Dimensional Scaling (LMDS) is an extension of classical Torgerson MDS´, but rather than calculating a complete distance matrix between all pairs of samples, only the distances between a set of landmarks and the samples are calculated.

Usage

lmds(x, ndim = 3, distance_method = c("euclidean", "pearson",
  "spearman", "cosine", "manhattan"), landmark_method = c("sample"),
  num_landmarks = 500)

Arguments

x

A matrix, optionally sparse.

ndim

The number of dimensions

distance_method

The distance metric to use. Options are "euclidean" (default), "pearson", "spearman", "cosine", "manhattan".

landmark_method

The landmark selection method to use. Options are "sample" (default).

num_landmarks

The number of landmarks to use,

Value

The dimensionality reduction in the form of a nrow(x) by ndim matrix.

Examples

library(Matrix)
x <- Matrix::rsparsematrix(1000, 1000, .01)
lmds(x, ndim = 3)

Perform MDS on landmarks and project other samples to the same space

Description

Perform MDS on landmarks and project other samples to the same space

Usage

cmdscale_landmarks(dist_2lm, ndim = 3, rescale = TRUE, ...)

Arguments

dist_2lm

Distance matrix between the landmarks and all the samples in original dataset

ndim

The number of dimensions

rescale

Whether or not to rescale the final dimensionality reduction (recommended)

...

Extra params to pass to irlba::irlba()

Value

The dimensionality reduction in the form of a ncol(dist_2lm) by ndim matrix.

Examples

library(Matrix)
x <- as.matrix(iris[,1:4])
dist_2lm <- select_landmarks(x)
cmdscale_landmarks(dist_2lm)

Select landmarks from dataset

Description

In addition, the distances between the landmarks and all samples are calculated.

Usage

select_landmarks(x, distance_method = c("euclidean", "pearson",
  "spearman", "cosine", "manhattan"), landmark_method = c("sample"),
  num_landmarks = 500)

Arguments

x

A matrix, optionally sparse.

distance_method

The distance metric to use. Options are "euclidean" (default), "pearson", "spearman", "cosine", "manhattan".

landmark_method

The landmark selection method to use. Options are "sample" (default).

num_landmarks

The number of landmarks to use,

Value

The distance matrix between the landmarks and all samples. In addition, an attribute "landmark_ix" denotes the indices of landmarks that were sampled.

Examples

library(Matrix)
x <- Matrix::rsparsematrix(1000, 1000, .01)
select_landmarks(x)