% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/intnmf.R
\name{intNMF}
\alias{intNMF}
\title{Integrative NMF clustering (intNMF)}
\usage{
intNMF(List, k, nstart = 10, max_iter = 200, seed = NULL)
}
\arguments{
\item{List}{A list of data matrices over the same objects, \strong{objects in
rows}. Matrices are shifted to be non-negative internally.}

\item{k}{Number of clusters (also the factorisation rank).}

\item{nstart}{Number of random restarts forming the consensus.}

\item{max_iter}{Maximum multiplicative-update iterations per restart.}

\item{seed}{Optional RNG seed.}
}
\value{
A list of class \code{"intNMF"} with \code{cluster}, the consensus
\code{DistM}, an \code{agnes} \code{Clust}, the best-fit basis \code{W} and
source weights \code{alpha}.
}
\description{
Joint non-negative matrix factorisation across data sources: a single shared
basis matrix \eqn{W} (objects \eqn{\times} rank) and source-specific
coefficient matrices \eqn{H_k} minimise \eqn{\sum_k \alpha_k \lVert X_k - W
H_k \rVert_F^2} with all factors non-negative. Sources are weighted by
\eqn{\alpha_k = \max_j \overline{SS}_j / \overline{SS}_k}. Object clusters are
obtained by consensus of the dominant-factor assignment across restarts.
}
\examples{
data(mosaic_toy)
fit <- intNMF(mosaic_toy$List, k = 3, nstart = 5, seed = 1)
table(fit$cluster)
}
\references{
Chalise, P. & Fridley, B. L. (2017). Integrative clustering of
multi-level omic data based on non-negative matrix factorization. PLoS ONE
12:e0176278. Reviewed in Zhang et al. (2022), WIREs Comput Stat 14:e1553.
}
\seealso{
\code{\link{M_ABCpp}}, \code{\link{SNF}}
}
