Plot univariate predictor-response function on a new grid of points
Source:R/PredictorResponseFunctions.R
PredictorResponseUnivar.Rd
Plot univariate predictor-response function on a new grid of points
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 identifying which predictors (columns of
Z
) should be plotted- 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
- ngrid
number of grid points to cover the range of each predictor (column in
Z
)- q.fixed
vector of quantiles at which to fix the remaining predictors in
Z
- sel
logical expression indicating samples to keep; defaults to keeping the second half of all samples
- min.plot.dist
specifies a minimum distance that a new grid point needs to be from an observed data point in order to compute the prediction; points further than this will not be computed
- center
flag for whether to scale the exposure-response function to have mean zero
- z.names
optional vector of names for the columns of
z
- ...
other arguments to pass on to the prediction function
Value
a long data frame with the predictor name, predictor value, posterior mean estimate, and posterior standard deviation
Details
For guided examples, 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.00472 secs elapsed)
#> Iteration: 20 (20% completed; 0.01061 secs elapsed)
#> Iteration: 30 (30% completed; 0.01592 secs elapsed)
#> Iteration: 40 (40% completed; 0.02107 secs elapsed)
#> Iteration: 50 (50% completed; 0.02621 secs elapsed)
#> Iteration: 60 (60% completed; 0.03136 secs elapsed)
#> Iteration: 70 (70% completed; 0.03656 secs elapsed)
#> Iteration: 80 (80% completed; 0.04177 secs elapsed)
#> Iteration: 90 (90% completed; 0.04692 secs elapsed)
#> Iteration: 100 (100% completed; 0.05259 secs elapsed)
pred.resp.univar <- PredictorResponseUnivar(fit = fitkm)