Compare the single-predictor health risks when all of the other predictors in Z are fixed to their a specific quantile to when all of the other predictors in Z are fixed to their a second specific quantile.
Arguments
- fit
An object containing the results returned by a the
kmbayes
function- y
a vector of outcome data of length
n
.- Z
an
n
-by-M
matrix of predictor variables to be included in theh
function. Each row represents an observation and each column represents an predictor.- X
an
n
-by-K
matrix of covariate data where each row represents an observation and each column represents a covariate. Should not contain an intercept column.- which.z
vector indicating which variables (columns of
Z
) for which the summary should be computed- qs.diff
vector indicating the two quantiles at which to compute the single-predictor risk summary
- qs.fixed
vector indicating the two quantiles at which to fix all of the remaining exposures in
Z
- method
method for obtaining posterior summaries at a vector of new points. Options are "approx" and "exact"; defaults to "approx", which is faster particularly for large datasets; see details
- sel
logical expression indicating samples to keep; defaults to keeping the second half of all samples
- z.names
optional vector of names for the columns of
z
- ...
other arguments to pass on to the prediction function
Value
a data frame containing the (posterior mean) estimate and posterior standard deviation of the single-predictor risk measures
Details
If
method == "approx"
, the argumentsel
defaults to the second half of the MCMC iterations.If
method == "exact"
, the argumentsel
defaults to keeping every 10 iterations after dropping the first 50% of samples, or if this results in fewer than 100 iterations, than 100 iterations are kept
For guided examples and additional information, go to https://jenfb.github.io/bkmr/overview.html
Examples
## First generate dataset
set.seed(111)
dat <- SimData(n = 50, M = 4)
y <- dat$y
Z <- dat$Z
X <- dat$X
## Fit model with component-wise variable selection
## Using only 100 iterations to make example run quickly
## Typically should use a large number of iterations for inference
set.seed(111)
fitkm <- kmbayes(y = y, Z = Z, X = X, iter = 100, verbose = FALSE, varsel = TRUE)
#> Iteration: 10 (10% completed; 0.00476 secs elapsed)
#> Iteration: 20 (20% completed; 0.00992 secs elapsed)
#> Iteration: 30 (30% completed; 0.015 secs elapsed)
#> Iteration: 40 (40% completed; 0.02004 secs elapsed)
#> Iteration: 50 (50% completed; 0.02508 secs elapsed)
#> Iteration: 60 (60% completed; 0.03013 secs elapsed)
#> Iteration: 70 (70% completed; 0.03523 secs elapsed)
#> Iteration: 80 (80% completed; 0.0483 secs elapsed)
#> Iteration: 90 (90% completed; 0.0534 secs elapsed)
#> Iteration: 100 (100% completed; 0.05844 secs elapsed)
risks.int <- SingVarIntSummaries(fit = fitkm, method = "exact")