Learn R Programming

BiBitR (version 0.3.1)

CompareResultJI: Compare Biclustering Results using Jaccard Index

Description

Creates a heatmap and returns a similarity matrix of the Jaccard Index (Row, Column or both dimensions) in order to compare 2 different biclustering results or compare the biclusters of a single result.

Usage

CompareResultJI(BCresult1, BCresult2 = NULL, type = "both", plot = TRUE)

Arguments

BCresult1

A S4 Biclust object. If only this input Biclust object is given, the biclusters of this single result will be compared.

BCresult2

A second S4 Biclust object to which BCresult1 should be compared. (default=NULL)

type

Of which dimension should the Jaccard Index be computed? Can be "row", "col" or "both" (default).

plot

Logical value if plot should be outputted (default=TRUE).

Value

A list containing

  • SimMat: The JI Similarity Matrix between the compared biclusters.

  • MaxSim: A list containing the maximum values on each row (BCResult1) and each column (BCResult2).

Details

The Jaccard Index between two biclusters is calculated as following: $$JI(BC1,BC2) = \frac{(m_1+m_2-m_{12})}{m_{12}}$$ in which

  • type="row" or type="col"

    • \(m_1=\) Number of rows/columns of BC1

    • \(m_2=\) Number of rows/columns of BC2

    • \(m_{12}=\) Number of rows/columns of union of row/column membership of BC1 and BC2

  • type="both"

    • \(m_1=\) Size of BC1 (rows times columns)

    • \(m_2=\) Size of BC2 (rows times columns)

    • \(m_{12}= m_1+m_2 -\) size of overlapping BC of BC1 and BC2

Examples

Run this code

data <- matrix(sample(c(0,1),100*100,replace=TRUE,prob=c(0.9,0.1)),nrow=100,ncol=100)
data[1:10,1:10] <- 1 # BC1
data[11:20,11:20] <- 1 # BC2
data[21:30,21:30] <- 1 # BC3
data <- data[sample(1:nrow(data),nrow(data)),sample(1:ncol(data),ncol(data))]

# Result 1
result1 <- bibit(data,minr=5,minc=5)
result1

# Result 2
result2 <- bibit(data,minr=2,minc=2)
result2

## Compare all BC's of Result 1 ##
Sim1 <- CompareResultJI(BCresult1=result1,type="both")
Sim1$SimMat

## Compare BC's of Result 1 and 2 ##
Sim12 <- CompareResultJI(BCresult1=result1,BCresult2=result2,type="both",plot=FALSE)
str(Sim12)

Run the code above in your browser using DataLab