profplot: Plotting Expression Profiles

profplotR Documentation

Plotting Expression Profiles


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.


  profplot(x, ...)

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



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.


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.


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'.


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.


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.


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


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)]


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


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.


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


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



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

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

# 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)

NMF documentation built on March 30, 2022, 1:05 a.m.