stereo.profileplot3d: Make a Stereo rotatable plot showing data profiles

Description Usage Arguments Details Value Author(s) See Also Examples

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
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})

NeatMap documentation built on May 2, 2019, 6:53 a.m.