Description Usage Arguments Details Value Author(s) Examples
View source: R/z_simulation_functions.R
Simulate nrep marginal Z-scores from joint Z-scores and convert these to posterior probabilities of causality
1 | zj_pp(Zj, V, nrep = 1000, W = 0.2, Sigma)
|
Zj |
Vector of joint Z-scores (0s except at CV) |
V |
Variance of the estimated effect size (can be obtained using Var.beta.cc function) |
nrep |
Number of posterior probability systems to simulate (default 1000) |
W |
Prior for the standard deviation of the effect size parameter, beta (default 0.2) |
Sigma |
SNP correlation matrix |
Does not include posterior probabilities for null model
Matrix of simulated posterior probabilties, one simulation per row
Anna Hutchinson
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | set.seed(1)
nsnps <- 100
Zj <- rep(0, nsnps)
iCV <- 4 # index of CV
mu <- 5 # true effect at CV
Zj[iCV] <- mu
## generate example LD matrix and MAFs
library(mvtnorm)
nsamples = 1000
simx <- function(nsnps, nsamples, S, maf=0.1) {
mu <- rep(0,nsnps)
rawvars <- rmvnorm(n=nsamples, mean=mu, sigma=S)
pvars <- pnorm(rawvars)
x <- qbinom(1-pvars, 1, maf)
}
S <- (1 - (abs(outer(1:nsnps,1:nsnps,`-`))/nsnps))^4
X <- simx(nsnps,nsamples,S)
LD <- cor2(X)
maf <- colMeans(X)
## generate V (variance of estimated effect sizes)
varbeta <- Var.data.cc(f = maf, N = 5000, s = 0.5)
res <- zj_pp(Zj, V = varbeta, nrep = 5, W = 0.2, Sigma = LD)
res[c(1:5), c(1:5)]
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.