plot_kpca: Kernel PCA Plot

View source: R/plot_kpca.R

plot_kpcaR Documentation

Kernel PCA Plot

Description

This function plots a low-dimensional projection of an omic data matrix using kernel principal component analysis.

Usage

plot_kpca(
  dat,
  group = NULL,
  covar = NULL,
  kernel = "rbfdot",
  kpar = list(sigma = 1e-04),
  top = NULL,
  dims = c(1L, 2L),
  label = FALSE,
  pal_group = "npg",
  pal_covar = "Blues",
  size = NULL,
  alpha = NULL,
  title = "Kernel PCA",
  legend = "right",
  hover = FALSE,
  D3 = FALSE
)

Arguments

dat

Omic data matrix or matrix-like object with rows corresponding to probes and columns to samples. It is strongly recommended that data be filtered and normalized prior to plotting. Raw counts stored in DGEList or DESeqDataSet objects are automatically extracted and transformed to the log2-CPM scale, with a warning.

group

Optional character or factor vector of length equal to sample size, or up to two such vectors organized into a list or data frame. Supply legend title(s) by passing a named list or data frame.

covar

Optional continuous covariate. If non-NULL, then plot can render at most one group variable. Supply legend title by passing a named list or data frame.

kernel

The kernel generating function, if using KPCA. Options include "rbfdot", "polydot", "tanhdot", "vanilladot", "laplacedot", "besseldot", "anovadot", and "splinedot". To run normal PCA, set to NULL. See Details.

kpar

A named list of arguments setting parameters for the kernel function. If NULL, kernlab defaults are used. See Details.

top

Optional number (if > 1) or proportion (if < 1) of most variable probes to be used for KPCA.

dims

Vector specifying which dimensions to plot. Must be of length two unless D3 = TRUE.

label

Label data points by sample name? Defaults to FALSE unless group and covar are both NULL. If TRUE, then plot can render at most one phenotypic feature.

pal_group

String specifying the color palette to use if group is non-NULL, or a vector of such strings with length equal to the number of vectors passed to group. Options include "ggplot", all qualitative color schemes available in RColorBrewer, and the complete collection of ggsci palettes. Alternatively, a character vector of colors with length equal to the cumulative number of levels in group.

pal_covar

String specifying the color palette to use if covar is non-NULL, or a vector of such strings with length equal to the number of vectors passed to covar. Options include the complete collection of viridis palettes, as well as all sequential color schemes available in RColorBrewer. Alternatively, a character vector of colors representing a smooth gradient, or a list of such vectors with length equal to the number of continuous variables to visualize.

size

Point size.

alpha

Point transparency.

title

Optional plot title.

legend

Legend position. Must be one of "bottom", "left", "top", "right", "bottomright", "bottomleft", "topleft", or "topright".

hover

Show sample name by hovering mouse over data point? If TRUE, the plot is rendered in HTML and will either open in your browser's graphic display or appear in the RStudio viewer.

D3

Render plot in three dimensions?

Details

This function maps an omic data matrix into a Hilbert space with a user-selected kernel function. The resulting kernel matrix is then projected into a principal component subspace, which is visualized.

Kernel PCA is a nonlinear variant of traditional PCA. Kernel methods are designed to uncover subtle structures in complex datasets, and are the basis of many supervised and unsupervised learning techniques, including support vector machines and spectral clustering. For more details on kernel functions and their input parameters, see kernlab::dots.

By default, plot_kpca maps the entire dat matrix into a corresponding Hilbert space. Limit the analysis to only the most variable probes by using the top argument.

References

Schölkopf, B., Smola, A. & Müller, K. (1998). Nonlinear Component Analysis as a Kernel Eigenvalue Problem. Neural Computation, 10(5), 1299-1319.

See Also

plot_pca, kernlab::dots

Examples

mat <- matrix(rnorm(1000 * 5), nrow = 1000, ncol = 5)
plot_kpca(mat)

library(DESeq2)
dds <- makeExampleDESeqDataSet()
dds <- rlog(dds)
plot_kpca(dds, group = colData(dds)$condition)


dswatson/bioplotr documentation built on March 3, 2023, 9:43 p.m.