Learn R Programming

NMF (version 0.28)

profplot: Plotting Expression Profiles

Description

Plotting Expression Profiles

When using NMF for clustering in particular, one looks for strong associations between the basis and a priori known groups of samples. Plotting the profiles may highlight such patterns.

Usage

profplot(x, ...)

# S3 method for default profplot (x, y, scale = c("none", "max", "c1"), match.names = TRUE, legend = TRUE, confint = TRUE, Colv, labels, annotation, ..., add = FALSE)

Arguments

x

a matrix or an NMF object from which is extracted the mixture coefficient matrix. It is extracted from the best fit if x is the results from multiple NMF runs.

y

a matrix or an NMF object from which is extracted the mixture coefficient matrix. It is extracted from the best fit if y is the results from multiple NMF runs.

scale

specifies how the data should be scaled before plotting. If 'none' or NA, then no scaling is applied and the "raw" data is plotted. If TRUE or 'max' then each row of both matrices are normalised with their respective maximum values. If 'c1', then each column of both matrix is scaled into proportions (i.e. to sum up to one). Default is 'none'.

match.names

a logical that indicates if the profiles in y should be subset and/or re-ordered to match the profile names in x (i.e. the rownames). This is attempted only when both x and y have names.

legend

a logical that specifies whether drawing the legend or not, or coordinates specifications passed to argument x of legend, that specifies the position of the legend.

confint

logical that indicates if confidence intervals for the R-squared should be shown in legend.

Colv

specifies the way the columns of x are ordered before plotting. It is used only when y is missing. It can be:

  • a single numeric value, specifying the index of a row of x, that is used to order the columns by x[, order(x[abs(Colv),])]. Decreasing order is specified with a negative index.

  • an integer vector directly specifying the order itself, in which case the columns are ordered by x[, Colv]

  • a factor used to order the columns by x[, order(Colv)] and as argument annotation if this latter is missing or not NA.

  • any other object with a suitable order method. The columns are by x[, order(Colv)]

labels

a character vector containing labels for each sample (i.e. each column of x). These are used for labelling the x-axis.

annotation

a factor annotating each sample (i.e. each column of x). If not missing, a coloured raw is plotted under the x-axis and annotates each sample accordingly. If argument Colv is a factor, then it is used to annotate the plot, unless annotation=NA.

...

graphical parameters passed to matplot or matpoints.

add

logical that indicates if the plot should be added as points to a previous plot

Details

The function can also be used to compare the profiles from two NMF models or mixture coefficient matrices. In this case, it draws a scatter plot of the paired profiles.

See Also

profcor

Examples

Run this code
# roxygen generated flag
options(R_CHECK_RUNNING_EXAMPLES_=TRUE)


# create a random target matrix
v <- rmatrix(30, 10)

# fit a single NMF model
res <- nmf(v, 3)
profplot(res)

# fit a multi-run NMF model
res2 <- nmf(v, 3, nrun=2)
# ordering according to first profile
profplot(res2, Colv=1) # increasing

# draw a profile correlation plot: this show how the basis components are
# returned in an unpredictable order
profplot(res, res2)

# looking at all the correlations allow to order the components in a "common" order
profcor(res, res2)

Run the code above in your browser using DataLab