nmfWrapper: Wrapping NMF Algorithms

View source: R/registry-algorithms.R

nmfWrapperR Documentation

Wrapping NMF Algorithms


This function creates a wrapper function for calling the function nmf with a given NMF algorithm.


  nmfWrapper(method, ..., .FIXED = FALSE)



Name of the NMF algorithm to be wrapped. It should be the name of a registered algorithm as returned by nmfAlgorithm, or an NMF algorithm object (i.e. an instance of NMFStrategy).


extra named arguments that define default values for any arguments of nmf or the algorithm itself.


a logical that indicates if the default arguments defined in ... must be considered as fixed, i.e. that they are forced to have the defined values and cannot be used in a call to the wrapper function, in which case, a warning about discarding them is thrown if they are used. Non fixed arguments may have their value changed at call time, in which case it is honoured and passed to the nmf call.

.FIXED may also be a character vector that specifies which argument amongst ... should be considered as fixed.


a function with argument ... and a set of default arguments defined in ... in the call to nmfWrapper.

See Also

nmfAlgorithm, nmf


# wrap Lee & Seung algorithm into a function
lee <- nmfWrapper('lee', seed=12345)

# test on random data
x <- rmatrix(100,20)
res <- nmf(x, 3, 'lee', seed=12345)
res2 <- lee(x, 3)
nmf.equal(res, res2)
res3 <- lee(x, 3, seed=123)
nmf.equal(res, res3)

# argument 'method' has no effect
res4 <- lee(x, 3, method='brunet')
nmf.equal(res, res4)

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