cor.unbalance estimates correlation from replicated data of unequal number of replicates.
cor.unbalance takes a pair of variables
at a time because of unequal number of replicates. the variance of each row of the data MUST equal to 1 (see example below)
cor.unbalance(x, m1, m2)
data matrix, column represents samples (conditions), and row represents variables (genes), see example below for format information
number of replicates for one variable (gene)
number of replicates for another variable (gene)
The multivariate correlation estimator assumes replicated omics data are iid samples from the multivariate normal distribution. It is derived by maximizing the likelihood function. Note that the off-diagonal elements in the returned correlation matrix (G by G) is the average of off-diagonals of MLE of correlation matrix of a pair of variables (m1+m2 by m1+m2).
A correlation matrix containing only one distinct correlation coefficient for the pair of variables (genes)
Dongxiao Zhu and Youjuan Li
Zhu, D and Li Y. 2007. Multivariate Correlation Estimator for Inferring Functional Relationships from Replicated 'OMICS' data. Submitted.
1 2 3 4 5 6 7 8 9 10 11 12
library("CORREP") d0 <- NULL for(l in 1:10) d0 <- rbind(d0, rnorm(8)) ## The simulated data corresponds to the real-world data of 2 genes and 10 conditions, gene expression ## profiles were replicated 3 and 5 times. ## Note this function can only take calculate correlation matrix between two genes at a time. d0<- t(d0) ## This step is to make the standard deviation of each replicate equal to 1 ## so that we can model the covariance matrix as correlation matrix. d0.std <- apply(d0, 1, function(x) x/sd(x)) M <- cor.unbalance(t(d0.std), m1=3, m2=5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.