Learn R Programming

mpm (version 1.0-23)

mpm: Spectral Map Analysis

Description

Produces an object of class mpm that allows for exploratory multivariate analysis of large data matrices, such as gene expression data from microarray experiments.

Usage

mpm(
  data,
  logtrans = TRUE,
  logrepl = 1e-09,
  center = c("double", "row", "column", "global", "none"),
  normal = c("global", "row", "column", "none"),
  closure = c("none", "row", "column", "global", "double"),
  row.weight = c("constant", "mean", "median", "max", "logmean", "RW"),
  col.weight = c("constant", "mean", "median", "max", "logmean", "CW"),
  CW = rep(1, ncol(data) - 1),
  RW = rep(1, nrow(data)),
  pos.row = rep(FALSE, nrow(data)),
  pos.column = rep(FALSE, ncol(data) - 1)
)

Arguments

data

a data frame with the row descriptors in the first column. For microarray data rows indicate genes and columns biological samples.

logtrans

an optional logical value. If TRUE, data are first transformed to logarithms (base e) before the other operations. Non-positive numbers are replaced by logrepl. If FALSE, data are left unchanged. Defaults to TRUE.

logrepl

an optional numeric value that replaces non-positive numbers in log-transformations. Defaults to 1e-9.

center

optional character string specifying the centering operation that is carried out on the optionally log-transformed, closed data matrix. If "double" both row- and column-means are subtracted. If "row" row-means are subtracted. If "column" column-means are subtracted. If "none" the data are left uncentered. Defaults to "double".

normal

optional character string specifying the normalization operation that is carried out on the optionally log-transformed, closed, and centered data matrix. If "global" the data are normalized using the global standard deviation. If "row" data are divided by the standard deviations of the respective row. If "column" data are divided by their respective column standard deviation. If "none" no normalization is carried out. Defaults to "global".

closure

optional character string specifying the closure operation that is carried out on the optionally log-transformed data matrix. If "double", data are divided by row- and column-totals. If "row" data are divided by row-totals. If "column" data are divided by column-totals. If "none" no closure is carried out. Defaults to "none".

row.weight

optional character string specifying the weights of the different rows in the analysis. This can be "constant", "mean", "median", "max", "logmean", or "RW". If "RW" is specified, weights must be supplied in the vector RW. In other cases weights are computed from the data. Defaults to "constant", i.e. constant weighting.

col.weight

optional character string specifying the weights of the different columns in the analysis. This can be "constant", "mean", "median", "max", "logmean", or "CW". If "CW" is specified, weights must be supplied in the vector CW. In other cases weights are computed from the data. Defaults to "constant", i.e. constant weighting.

CW

optional numeric vector with external column weights. Defaults to 1 (constant weights).

RW

optional numeric vector with external row weights. Defaults to 1 (constant weights).

pos.row

logical vector indicating rows that are not to be included in the analysis but must be positioned on the projection obtained with the remaining rows. Defaults to FALSE.

pos.column

logical vector indicating columns that are not to be included in the analysis but must be positioned on the projection obtained with the remaining columns. Defaults to FALSE.

Value

An object of class mpm representing the projection of data after the different operations of transformation, closure, centering, and normalization in an orthogonal space. Generic functions plot and summary have methods to show the results of the analysis in more detail. The object consists of the following components:

TData

matrix with the data after optional log-transformation, closure, centering and normalization.

row.names

character vector with names of the row elements as supplied in the first column of the original data matrix

col.names

character vector with the names of columns obtained from the column names from the original data matrix

closure

closure operation as specified in the function call

center

centering operation as specified in the function call

normal

normalization operation as specified in the function call

row.weight

type of weighting used for rows as specified in the function call

col.weight

type of weighting used for columns as specified in the function call

Wn

vector with calculated weights for rows

Wp

vector with calculated weights for columns

RM

vector with row means of original data

CM

vector with column means of original data

pos.row

logical vector indicating positioned rows as specified in the function call

pos.column

logical vector indicating positioned columns as specified in the function call

SVD

list with components returned by La.svd

eigen

eigenvalues for each orthogonal factor from obtained from the weighted singular value decomposition

contrib

contributions of each factor to the total variance of the pre-processed data, i.e. the eigenvalues as a fraction of the total eigenvalue.

call

the matched call.

Details

The function mpm presents a unified approach to exploratory multivariate analysis encompassing principal component analysis, correspondence factor analysis, and spectral map analysis. The algorithm computes projections of high dimensional data in an orthogonal space. The resulting object can subsequently be used in the construction of biplots (i.e. plot.mpm).

The projection of the pre-processed data matrix in the orthogonal space is calculated using the La.svd function.

References

Wouters, L., Goehlmann, H., Bijnens, L., Kass, S.U., Molenberghs, G., Lewi, P.J. (2003). Graphical exploration of gene expression data: a comparative study of three multivariate methods. Biometrics 59, 1131-1140.

See Also

plot.mpm, summary.mpm

Examples

Run this code
# NOT RUN {
  data(Golub)
  # Principal component analysis
  r.pca <- mpm(Golub[,1:39], center = "column", normal = "column")
  # Correspondence factor analysis
  r.cfa <- mpm(Golub[,1:39],logtrans = FALSE, row.weight = "mean",
             col.weight = "mean", closure = "double")
  # Weighted spectral map analysis
  r.sma <- mpm(Golub[,1:39], row.weight = "mean", col.weight = "mean")
# }

Run the code above in your browser using DataLab