R: Estimate the irreproducible discovery rate using the copula...

est.IDR {idr} | R Documentation

## Estimate the irreproducible discovery rate using the copula mixture model

### Description

Fit a Gaussian copula mixture model.

### Usage

    est.IDR(x, mu, sigma, rho, p, eps=0.001, max.ite=30)

### Arguments

`x` | an n by m numeric matrix, where m= num of replicates, n=num of observations. Numerical values representing the significance of the observations. Note that significant signals are expected to have large values of x. In case that smaller values represent higher significance (e.g. p-value), a monotonic transformation needs to be applied to reverse the order before using this function, for example, -log(p-value). Currently, m=2.
`mu` | a starting value for the mean of the reproducible component.
`sigma` | a starting value for the standard deviation of the reproducible component.
`rho` | a starting value for the correlation coefficient of the reproducible component.
`p` | a starting value for the proportion of reproducible component.
`eps` | Stopping criterion. Iterations stop when the increment of log-likelihood is < eps*log-likelihood, Default=0.001.
`max.ite` | Maximum number of iterations. Default=30.

### Value

`para` | estimated parameters: p, rho, mu, sigma.
`idr` | a numeric vector of the local idr for each observation (i.e. estimated conditional probablility for each observation to belong to the irreproducible component.
`IDR` | a numerical vector of the expected irreproducible discovery rate for observations that are as irreproducible or more irreproducible than the given observations.
`loglik` | log-likelihood at the end of iterations.
`loglik.trace` | trajectory of log-likelihood.

### Author(s)

Qunhua Li

### References

Q. Li, J. B. Brown, H. Huang and P. J. Bickel. (2011) Measuring reproducibility of high-throughput experiments. Annals of Applied Statistics, Vol. 5, No. 3, 1752-1779.

### Examples

    data("simu.idr")

    # simu.idr$x and simu.idr$y are p-values
    # Transfer them such that large values represent significant ones
    x <- cbind(-simu.idr$x, -simu.idr$y)

    mu <- 2.6
    sigma <- 1.3
    rho <- 0.8
    p <- 0.7

    idr.out <- est.IDR(x, mu, sigma, rho, p, eps=0.001, max.ite=20)

    names(idr.out)

[Package idr version 1.2 Index]