Plot univariate predictor-response function on a new grid of points
Plot univariate predictor-response function on a new grid of points
PredictorResponseUnivar( fit, y =NULL, Z =NULL, X =NULL, which.z =1:ncol(Z), method ="approx", ngrid =50, q.fixed =0.5, sel =NULL, min.plot.dist =Inf, center =TRUE, z.names = colnames(Z),...)
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 the h 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
Returns
a long data frame with the predictor name, predictor value, posterior mean estimate, and posterior standard deviation
## First generate datasetset.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 inferenceset.seed(111)fitkm <- kmbayes(y = y, Z = Z, X = X, iter =100, verbose =FALSE, varsel =TRUE)pred.resp.univar <- PredictorResponseUnivar(fit = fitkm)