Learn R Programming

SCBiclust (version 1.0.2)

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

Description

'SCBiclust' method for identifying means-based biclusters

Usage

PermBiclust.sigclust(
  x,
  nperms = 1000,
  silent = TRUE,
  maxnum.bicluster = 5,
  alpha = 0.05,
  icovest = 1
)

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.

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

alpha

significance level for sigclust test.

icovest

Coviariance estimation type for sigclust test

Author

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

Details

Observations in the bicluster are identified such that they maximize the feature-weighted 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(\sqrt{B})\) where \(B \sim Beta(\frac{1}{2}, (p-1)/2)\) as the expected null distribution for feature weights. The sigclust algorithm is used to test the strength of the identified clusters.

Examples

Run this code
 test <- matrix(rnorm(60*180), nrow=60, ncol=180)
test[1:15,1:15] <- test[1:15,1:15]+rnorm(15*15, 2)
test[16:30,51:80] <- test[16:30,51:80]+rnorm(15*30, 3)
PermBiclust.sigclust(test, silent=TRUE)

Run the code above in your browser using DataLab