mr_egger_rjags {mrbayes} | R Documentation |
Bayesian implementation of the MR-Egger multivariate model with choice of prior distributions fitted using JAGS.
Description
Bayesian implementation of the MR-Egger multivariate model with choice of prior distributions fitted using JAGS.
Usage
mr_egger_rjags(
object,
prior = "default",
betaprior = "",
sigmaprior = "",
n.chains = 3,
n.burn = 1000,
n.iter = 5000,
seed = NULL,
rho = 0.5,
...
)
Arguments
object |
A data object of class |
prior |
A character string for selecting the prior distributions;
|
betaprior |
A character string in JAGS syntax to allow a user defined prior for the causal effect. |
sigmaprior |
A character string in JAGS syntax to allow a user defined prior for the residual standard deviation. |
n.chains |
Numeric indicating the number of chains used in the MCMC estimation, the default is |
n.burn |
Numeric indicating the burn-in period of the Bayesian MCMC estimation. The default is |
n.iter |
Numeric indicating the number of iterations in the Bayesian MCMC estimation. The default is |
seed |
Numeric indicating the random number seed. The default is the rjags default. |
rho |
Numeric indicating the correlation coefficient input into the joint prior distribution. The default value is |
... |
Additional arguments passed through to |
Value
An object of class eggerjags
containing the following components:
- AvgPleio
The mean of the simulated pleiotropic effect
- CausalEffect
The mean of the simulated causal effect
- StandardError
Standard deviation of the simulated causal effect
- sigma
The value of the residual standard deviation
- CredibleInterval
The credible interval for the causal effect, which includes the lower (2.5%), median (50%) and upper intervals (97.5%)
- samples
Output of the Bayesian MCMC samples
- Priors
The specified priors
References
Bowden et. al., Mendelian randomization with invalid instruments: effect estimation and bias detection through Egger regression. International Journal of Epidemiology 2015. 44(2): p. 512-525. doi: 10.1093/ije/dyv080
Examples
if (requireNamespace("rjags", quietly = TRUE)) {
fit <- mr_egger_rjags(bmi_insulin)
summary(fit)
plot(fit$samples)
# 90% credible interval
fitdf <- do.call(rbind.data.frame, fit$samples)
cri90 <- sapply(fitdf, quantile, probs = c(0.05,0.95))
print(cri90)
}