stereo.profileplot3d {NeatMap}R Documentation

Make a Stereo rotatable plot showing data profiles

Description

Make a stereo rotatable plot depicting the intensity levels of a matrix, while showing the relations between rows in two dimensions and that of the columns in the third. Cluster analysis results for rows and columns may be superposed. Stereo version of profileplot3d

Usage

stereo.profileplot3d(pos, profiles, normalize.rows = T, column.order = NULL, 
row.cluster = NULL, column.cluster = NULL, labels = NULL, col = NULL,
color_scaling_function=NULL, point.size = 3, label.colors = NULL, 
label.size = 0.5,stereo.angle=5)

make.stereo.profileplot3d(profiles, row.method = "nMDS", normalize.rows=T, 
column.method = "average.linkage", row.metric = "pearson",
column.metric = "pearson", row.cluster.method = "average", 
column.cluster.method = "average", point.size = 3, col=NULL, 
color_scaling_function=NULL, labels = NULL, label.colors = NULL, 
label.size = 0.5,row.random.seed=NULL,column.random.seed=NULL,stereo.angle=5)

Arguments

pos matrix: the 2d positions for the rows in profiles as produced by any dimensional reduction scheme.
profiles matrix: containing the data to be plotted.
normalize.rows logical: If TRUE, then the rows shall be normalized before plotting.
column.order The ordering of the columns, as would be the case in a typical heatmap, produced using some dimensional reduction scheme. If it is NULL, then the ordering in profiles is used.
row.cluster hierarchical clustering result (of type hclust), of the rows, for superimposing the clustering result on the 3d profile plot. If it is NULL, no cluster result will be plotted.
column.cluster similar to row.cluster except for the clustering of columns.
labels labels for the rows. If it is set to NULL, no labels will be plotted.
col A list of colors such as that generated by rainbow used in depicting low to high intensities as in a heat-map.
color_scaling_function A function mapping [0:1] onto [0:1] used for scaling the color levels. If Null, linear scaling is performed
point.size The size of intensity points.
label.colors A list of colors used for the row labels
label.size size of row labels.
stereo.angle Difference in perspective angle (in degrees) between the two stereo figures
row.method dimensional reduction method for embedding rows, currently only "PCA" and "nMDS" are supported.
column.method dimensional reduction method for ordering columns. Can be any one of "nMDS", "PCA", "average.linkage" and "complete.linkage".
row.metric the distance function used for row embedding. Can be either "pearson" or "euclidean".
column.metric like row.metric except for columns.
row.cluster.method clustering method used for superposed row cluster. Either "complete.linkage" or "average.linkage".
column.cluster.method like row.metric except for columns.
row.random.seed Random seed to be used if nMDS is used to construct row structure
column.random.seed Random seed to be used in nMDS is used to generate column ordering

Details

These functions display data in a 3d rotatable stereo format. They are just stereo versions of the functions profileplot3d and make.profileplot3d, The xy positions are the result of a 2D embedding of the rows, the profiles for which are shown along the z-axis. stereo.profileplot3d is the primary function to do this, accepting the results of any dimensional reduction scheme, while make.stereo.profileplot3d is a convenience function performing both the dimensional reduction (using nMDS or PCA) and then calling profileplot3d.

The ordering of columns is similar to that for heatmap1. Thus if PCA or nMDS are used it is assumed that the embedding of columns is annular, and the order used is that of angular positions. The user should confirm that this is indeed the case.

Value

These functions are called for the side-effects they produce

Author(s)

Satwik Rajaram and Yoshi Oono

See Also

heatmap1.

Examples

make.stereo.profileplot3d(mtcars,row.method="PCA",column.method="average.linkage")

#is equivalent to
mtcars.PCA<-prcomp(mtcars)
mtcars.col.cluster<-hclust(dist(t(mtcars)),method="average")
mtcars.row.cluster<-hclust(as.dist(1-cor(t(mtcars))),method="average")
stereo.profileplot3d(mtcars.PCA$x,mtcars,column.order=mtcars.col.cluster$order,
row.cluster=mtcars.row.cluster,column.cluster=mtcars.col.cluster)

#use of alternate colors and color scaling
make.stereo.profileplot3d(mtcars,row.method="PCA",column.method="average.linkage",
col=c("yellow","black","blue"),
color_scaling_function=function(x){0.5+tanh(10*(x-0.5))/2})


[Package NeatMap version 0.3.2 Index]