Testing Equality of NMF Models

Description

The function nmf.equal tests if two NMF models are the same, i.e. they contain -- almost -- identical data: same basis and coefficient matrices, as well as same extra parameters.

Usage

nmf.equal(x, y, ...)

S4 (NMF,NMF)
`nmf.equal`(x, y, identical = TRUE, ...)

S4 (list,list)
`nmf.equal`(x, y, ..., all = FALSE, vector = FALSE)

Arguments

x
an NMF model or an object that is associated with an NMF model, e.g. the result from a fit with nmf.
y
an NMF model or an object that is associated with an NMF model, e.g. the result from a fit with nmf.
identical
a logical that indicates if the comparison should be made using the function identical (TRUE) or all.equal (FALSE). See description for method nmf.equal,NMF,NMF.
...
extra arguments to allow extension, and passed to subsequent calls
all
a logical that indicates if all fits should be compared separately or only the best fits
vector
a logical, only used when all=TRUE, that indicates if all fits must be equal for x and y to be declared equal, or if one wants to return the result of each comparison in a vector.

Details

nmf.equal compares two NMF models, and return TRUE iff they are identical acording to the function identical when identical=TRUE, or equal up to some tolerance acording to the function all.equal. This means that all data contained in the objects are compared, which includes at least the basis and coefficient matrices, as well as the extra parameters stored in slot ‘misc’.

If extra arguments are specified in ..., then the comparison is performed using all.equal, irrespective of the value of argument identical.

Methods

  1. nmf.equalsignature(x = "NMF", y = "NMF"): Compares two NMF models.

    Arguments in ... are used only when identical=FALSE and are passed to all.equal.

  2. nmf.equalsignature(x = "NMFfit", y = "NMF"): Compares two NMF models when at least one comes from a NMFfit object, i.e. an object returned by a single run of nmf.

  3. nmf.equalsignature(x = "NMF", y = "NMFfit"): Compares two NMF models when at least one comes from a NMFfit object, i.e. an object returned by a single run of nmf.

  4. nmf.equalsignature(x = "NMFfit", y = "NMFfit"): Compares two fitted NMF models, i.e. objects returned by single runs of nmf.

  5. nmf.equalsignature(x = "NMFfitX", y = "NMF"): Compares two NMF models when at least one comes from multiple NMF runs.

  6. nmf.equalsignature(x = "NMF", y = "NMFfitX"): Compares two NMF models when at least one comes from multiple NMF runs.

  7. nmf.equalsignature(x = "NMFfitX1", y = "NMFfitX1"): Compares the NMF models fitted by multiple runs, that only kept the best fits.

  8. nmf.equalsignature(x = "list", y = "list"): Compares the results of multiple NMF runs.

    This method either compare the two best fit, or all fits separately. All extra arguments in ... are passed to each internal call to nmf.equal.

  9. nmf.equalsignature(x = "list", y = "missing"): Compare all elements in x to x[[1]].