jointNMF: Joint Decomposition with Nonnegative Matrix Factorization

View source: R/jointNMF.R

jointNMFR Documentation

Joint Decomposition with Nonnegative Matrix Factorization

Description

Joint decomposition of several linked matrices with Nonnegative Matrix Factorization (NMF) It is based on the MSE loss, proposed by Lee, Daniel D., and H. Sebastian Seung. "Learning the parts of objects by non-negative matrix factorization." Nature 401.6755 (1999): 788-791.

Usage

jointNMF(
  dataset,
  group,
  comp_num,
  weighting = NULL,
  max_ite = 1000,
  max_err = 1e-04,
  proj_dataset = NULL,
  proj_group = NULL,
  enable_normalization = TRUE,
  column_sum_normalization = FALSE,
  screen_prob = NULL
)

Arguments

dataset

A list of dataset to be analyzed

group

A list of grouping of the datasets, indicating the relationship between datasets

comp_num

A vector indicates the dimension of each compoent

weighting

Weighting of each dataset, initialized to be NULL

max_ite

The maximum number of iterations for the jointNMF algorithms to run, default value is set to 100

max_err

The maximum error of loss between two iterations, or the program will terminate and return, default value is set to be 0.0001

proj_dataset

The dataset to be projected on.

proj_group

A boolean combination indicating which groupings should be used for the projected dataset.

enable_normalization

An argument to decide whether to use normalizaiton or not, default is TRUE

column_sum_normalization

An argument to decide whether to use column sum normalization or not, default it FALSE

screen_prob

A vector of probabilies for genes to be chosen

Value

A list contains the component and the score of each dataset on every component after jointNMF algorithm

Examples

dataset = list(matrix(runif(5000, 1, 2), nrow = 100, ncol = 50),
matrix(runif(5000, 1, 2), nrow = 100, ncol = 50),
matrix(runif(5000, 1, 2), nrow = 100, ncol = 50),
matrix(runif(5000, 1, 2), nrow = 100, ncol = 50))
group = list(c(1,2,3,4), c(1,2), c(3,4), c(1,3), c(2,4), c(1), c(2), c(3), c(4))
comp_num = c(2,2,2,2,2,2,2,2,2)
proj_dataset = matrix(runif(5000, 1, 2), nrow = 100, ncol = 50)
proj_group = c(TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE)
res_jointNMF = jointNMF(
dataset,
group,
comp_num,
proj_dataset = proj_dataset,
proj_group = proj_group)



CHuanSite/SJD documentation built on Nov. 29, 2024, 5:52 a.m.