Learn R Programming

NMF (version 0.2.2)

basiscor: Correlations in NMF Models

Description

basiscor computes the correlation matrix between basis vectors, i.e. the columns of its basis matrix -- which is the model's first matrix factor.

profcor computes the correlation matrix between basis profiles, i.e. the rows of the coefficient matrix -- which is the model's second matrix factor.

Usage

basiscor(x, y, ...)

profcor(x, y, ...)

Arguments

x
a matrix or an object with suitable methods basis or coef.
y
a matrix or an object with suitable methods basis or coef, and dimensions compatible with x. If missing the correlations are computed between <
...
extra arguments passed to cor.

Details

Each generic has methods defined for computing correlations between NMF models and/or compatible matrices. The computation is performed by the base function cor.

Examples

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

# generate two random NMF models
a <- rnmf(3, 100, 20)
b <- rnmf(3, 100, 20)

# Compute auto-correlations
basiscor(a)
profcor(a)
# Compute correlations with b
basiscor(a, b)
profcor(a, b)

# try to recover the underlying NMF model 'a' from noisy data
res <- nmf(fitted(a) + rmatrix(a), 3)

# Compute correlations with the true model
basiscor(a, res)
profcor(a, res)

# Compute correlations with a random compatible matrix
W <- rmatrix(basis(a))
basiscor(a, W)
identical(basiscor(a, W), basiscor(W, a))

H <- rmatrix(coef(a))
profcor(a, H)
identical(profcor(a, H), profcor(H, a))

Run the code above in your browser using DataLab