piem {repfdr} | R Documentation |
Estimation of the prior probabilities for each association status vector.
Description
The function calls an expectation-maximization (EM) algorithm to estimate the prior probabilities of each association status vector. It is also used internally in repfdr
.
Usage
piem(pdf.binned.z, binned.z.mat, control = em.control())
Arguments
pdf.binned.z |
Same input as in |
binned.z.mat |
Same input as in |
control |
List of control parameters to pass to the EM algorithm. See |
Details
The implementation of the EM algorithm is in C, and allows paralel processing. By default, the software automatically detects the number of available processing threads. See em.control
for the option of providing the number of threads to use, as well as for the additional control parameters.
Value
all.iterations |
Matrix with number of columns equal to the number of EM iterations, and each column is the estimated probability distribution of the vector of association status. |
last.iteration |
Matrix of the vectors of association status along with the column vector of the last EM iteration, which contains the estimated probabilities of the vectors of association status. |
Author(s)
C
implementation by Shachar Kaufman.
References
Heller, Ruth, and Daniel Yekutieli. "Replicability analysis for Genome-wide Association studies." arXiv preprint arXiv:1209.2829 (2012).
See Also
Examples
## Not run:
download.file('http://www.math.tau.ac.il/~ruheller/repfdr_RData/binned_zmat.RData',
destfile = "binned_zmat.RData")
load(file = "binned_zmat.RData")
#binned_zmat can also be generated via
output_piem <- piem(pbz, bz)
# extract the last iteration to use it in repfdr (see help(repfdr)):
Pi1 <- output_piem$last.iteration
data(Pi)
stopifnot(all.equal(Pi,Pi1))
# simulation data:
data(binned_zmat_sim)
output_piem_sim <- piem(pbz_sim, bz_sim)
Pi_sim <- output_piem_sim$last.iteration
# following are the true proportions in the data: (see help(hmat_sim) for data generation details.)
f <- c(0.895,0.005,0.005,0.02,0.005,0.02,0.02,0.03)
# the estimation vs the true proportions:
cbind(round(Pi_sim,6),f)
## End(Not run)