PermBiclust.beta.ks: 'SCBiclust' method for identifying means-based biclusters...

View source: R/SCBiclust_beta_ks.R

PermBiclust.beta.ksR Documentation

'SCBiclust' method for identifying means-based biclusters with Kolmogorov-Smirnov test of feature weights

Description

'SCBiclust' method for identifying means-based biclusters with Kolmogorov-Smirnov test of feature weights

Usage

PermBiclust.beta.ks(
  x,
  nperms = 1000,
  silent = TRUE,
  maxnum.bicluster = 5,
  ks.alpha = 0.05
)

Arguments

x

a dataset with n rows and p columns, with observations in rows.

nperms

number of Beta(\frac{1}{2}, (p-1)/2) distributed variables generated for each feature (default=1000)

silent

should progress be printed? (default=TRUE)

maxnum.bicluster

The maximum number of biclusters returned

ks.alpha

significance level for Kolmogorov-Smirnov test.

Details

Observations in the bicluster are identified such that they maximize the feature-weighted square-root of the between cluster sum of squares. Features in the bicluster are identified based on their contribution to the clustering of the observations. Feature weights are generated in a similar fashion as KMeansSparseCluster except with a modified objective function and no sparsity constraint.

This algoritm uses a numerical approximation to E(√{B}) where B \sim Beta(\frac{1}{2}, (p-1)/2) as the expected null distribution for feature weights. The Kolmogorov-Smirnov test is used to assess if feature weights deviate from the expected null distribution.

Value

The function returns a S3-object with the following attributes:

  • num.bicluster: The number of biclusters estimated by the procedure.

  • x.residual: The data matrix x after removing the signals

  • which.x: A list of length num.bicluster with each list entry containing a logical vector denoting if the data observation is in the given bicluster.

  • which.y: A list of length num.bicluster with each list entry containing a logical vector denoting if the data feature is in the given bicluster.

Author(s)

Erika S. Helgeson, Qian Liu, Guanhua Chen, Michael R. Kosorok , and Eric Bair

Examples

test <- matrix(rnorm(100*200), nrow=100, ncol=200)
test[1:20,1:20] <- test[1:20,1:20]+rnorm(20*20, 2)
test[16:30,51:80] <- test[16:30,51:80]+rnorm(15*30, 3)
PermBiclust.beta.ks(test, silent=TRUE)

SCBiclust documentation built on June 10, 2022, 1:06 a.m.