basis and basis<- are S4 generic functions
  which respectively extract and set the matrix of basis
  components of an NMF model (i.e. the first matrix
  factor).
The methods .basis, .coef and their
  replacement versions are implemented as pure virtual
  methods for the interface class NMF, meaning that
  concrete NMF models must provide a definition for their
  corresponding class (i.e. sub-classes of class
  NMF). See NMF for more
  details.
coef and coef<- respectively extract and
  set the coefficient matrix of an NMF model (i.e. the
  second matrix factor). For example, in the case of the
  standard NMF model \(V \equiv WH\), the method
  coef will return the matrix \(H\).
.coef and .coef<- are low-level S4 generics
  that simply return/set coefficient data in an object,
  leaving some common processing to be performed in
  coef and coef<-.
Methods coefficients and coefficients<- are
  simple aliases for methods coef and coef<-
  respectively.
scoef is similar to coef, but returns the
  mixture coefficient matrix of an NMF model, with the
  columns scaled so that they sum up to a given value (1 by
  default).
basis(object, ...)  # S4 method for NMF
basis(object, all = TRUE, ...)
  .basis(object, ...)
  basis(object, ...)<-value
  # S4 method for NMF
basis(object, use.dimnames = TRUE,
    ...)<-value
  .basis(object)<-value
  # S4 method for NMF
loadings(x)
  coef(object, ...)
  # S4 method for NMF
coef(object, all = TRUE, ...)
  .coef(object, ...)
  coef(object, ...)<-value
  # S4 method for NMF
coef(object, use.dimnames = TRUE,
    ...)<-value
  .coef(object)<-value
  coefficients(object, ...)
  # S4 method for NMF
coefficients(object, all = TRUE, ...)
  scoef(object, ...)
  # S4 method for NMF
scoef(object, scale = 1)
  # S4 method for matrix
scoef(object, scale = 1)
an object from which to extract the factor
  matrices, typically an object of class
  NMF.
extra arguments to allow extension and passed
  to the low-level access functions .coef and
  .basis.
Note that these throw an error if used in replacement
  functions .
a logical that indicates whether the complete
  matrix factor should be returned (TRUE) or only
  the non-fixed part. This is relevant only for
  formula-based NMF models that include fixed basis or
  coefficient terms.
logical that indicates if the object's dim names should be set using those from the new value, or left unchanged -- after truncating them to fit new dimensions if necessary. This is useful to only set the entries of a factor.
replacement value
scaling factor, which indicates to the value the columns of the coefficient matrix should sum up to.
an object of class "factanal" or
  "princomp" or the loadings component
  of such an object.
signature(object = "ANY"): Default
  method returns the value of S3 slot or attribute
  'basis'. It returns NULL if none of these
  are set.
Arguments ... are not used by this method.
signature(object = "NMFfitXn"):
  Returns the basis matrix of the best fit amongst all the
  fits stored in object. It is a shortcut for
  basis(fit(object)).
signature(object = "NMF"): Pure
  virtual method for objects of class
  NMF, that should be overloaded by
  sub-classes, and throws an error if called.
signature(object = "NMFstd"): Get
  the basis matrix in standard NMF models
This function returns slot W of object.
signature(object = "NMFfit"):
  Returns the basis matrix from an NMF model fitted with
  function nmf.
It is a shortcut for .basis(fit(object), ...),
  dispatching the call to the .basis method of the
  actual NMF model.
signature(object = "NMF", value =
  "matrix"): Pure virtual method for objects of class
  NMF, that should be overloaded by
  sub-classes, and throws an error if called.
signature(object = "NMFstd", value
  = "matrix"): Set the basis matrix in standard NMF models
This function sets slot W of object.
signature(object = "NMFfit", value
  = "matrix"): Sets the the basis matrix of an NMF model
  fitted with function nmf.
It is a shortcut for .basis(fit(object)) <- value,
  dispatching the call to the .basis<- method of the
  actual NMF model. It is not meant to be used by the user,
  except when developing NMF algorithms, to update the
  basis matrix of the seed object before returning it.
signature(object = "NMF"): Default
  methods that calls .basis<- and check the validity
  of the updated object.
signature(object = "NMFfitXn"):
  Returns the coefficient matrix of the best fit amongst
  all the fits stored in object. It is a shortcut
  for coef(fit(object)).
signature(object = "NMF"): Pure
  virtual method for objects of class
  NMF, that should be overloaded by
  sub-classes, and throws an error if called.
signature(object = "NMFstd"): Get the
  mixture coefficient matrix in standard NMF models
This function returns slot H of object.
signature(object = "NMFfit"): Returns
  the the coefficient matrix from an NMF model fitted with
  function nmf.
It is a shortcut for .coef(fit(object), ...),
  dispatching the call to the .coef method of the
  actual NMF model.
signature(object = "NMF", value =
  "matrix"): Pure virtual method for objects of class
  NMF, that should be overloaded by
  sub-classes, and throws an error if called.
signature(object = "NMFstd", value =
  "matrix"): Set the mixture coefficient matrix in
  standard NMF models
This function sets slot H of object.
signature(object = "NMFfit", value =
  "matrix"): Sets the the coefficient matrix of an NMF
  model fitted with function nmf.
It is a shortcut for .coef(fit(object)) <- value,
  dispatching the call to the .coef<- method of the
  actual NMF model. It is not meant to be used by the user,
  except when developing NMF algorithms, to update the
  coefficient matrix in the seed object before returning
  it.
signature(object = "NMF"): Default
  methods that calls .coef<- and check the validity
  of the updated object.
signature(object = "NMF"):
  Alias to coef,NMF, therefore also pure virtual.
signature(x = "NMF"): Method
  loadings for NMF Models
The method loadings is identical to basis,
  but do not accept any extra argument.
The method loadings is provided to standardise the
  NMF interface against the one defined in the
  stats package, and emphasises the
  similarities between NMF and PCA or factorial analysis
  (see loadings).
For example, in the case of the standard NMF model \(V
  \equiv W H\), the method basis will return
  the matrix \(W\).
basis and basis<- are defined for the top
  virtual class NMF only, and rely
  internally on the low-level S4 generics .basis and
  .basis<- respectively that effectively extract/set
  the coefficient data. These data are post/pre-processed,
  e.g., to extract/set only their non-fixed terms or check
  dimension compatibility.
coef and coef<- are S4 methods defined for
  the corresponding generic functions from package
  stats (See coef). Similarly to
  basis and basis<-, they are defined for the
  top virtual class NMF only, and rely
  internally on the S4 generics .coef and
  .coef<- respectively that effectively extract/set
  the coefficient data. These data are post/pre-processed,
  e.g., to extract/set only their non-fixed terms or check
  dimension compatibility.
Other NMF-interface:
  .DollarNames,NMF-method,
  misc, NMF-class,
  $<-,NMF-method, $,NMF-method,
  nmfModel, nmfModels,
  rnmf
# roxygen generated flag
options(R_CHECK_RUNNING_EXAMPLES_=TRUE)
#----------
# scoef
#----------
# Scaled coefficient matrix
x <- rnmf(3, 10, 5)
scoef(x)
scoef(x, 100)
#----------
# .basis,NMFstd-method
#----------
# random standard NMF model
x <- rnmf(3, 10, 5)
basis(x)
coef(x)
# set matrix factors
basis(x) <- matrix(1, nrow(x), nbasis(x))
coef(x) <- matrix(1, nbasis(x), ncol(x))
# set random factors
basis(x) <- rmatrix(basis(x))
coef(x) <- rmatrix(coef(x))
# incompatible matrices generate an error:
try( coef(x) <- matrix(1, nbasis(x)-1, nrow(x)) )
# but the low-level method allow it
.coef(x) <- matrix(1, nbasis(x)-1, nrow(x))
try( validObject(x) )
Run the code above in your browser using DataLab