# generate a synthetic dataset with known classes
n <- 100; counts <- c(10, 5, 8);
V <- syntheticNMF(n, counts, noise=TRUE)
# build the class factor
groups <- as.factor(do.call('c', lapply(seq(3), function(x) rep(x, counts[x]))))
# run default algorithm
res <- nmf(V, 3)
res
summary(res, class=groups)
# run nonsmooth NMF algorithm
res <- nmf(V, 3, 'nsNMF')
res
summary(res, class=groups)
# compare some NMF algorithms
res <- nmf(V, 3, list('brunet', 'lee', 'nsNMF'))
res
compare(res, class=groups)
# run on an ExpressionSet
data(esGolub)
nmf(esGolub, 3)
Run the code above in your browser using DataLab