weight_draws {posterior} | R Documentation |
Weight draws
objects
Description
Add weights to draws
objects, with one weight per draw, for use in
subsequent weighting operations. For reasons of numerical accuracy, weights
are stored in the form of unnormalized log-weights (in a variable called
.log_weight
). See weights.draws()
for details how to extract weights from
draws
objects.
Usage
weight_draws(x, weights, ...)
## S3 method for class 'draws_matrix'
weight_draws(x, weights, log = FALSE, pareto_smooth = FALSE, ...)
## S3 method for class 'draws_array'
weight_draws(x, weights, log = FALSE, pareto_smooth = FALSE, ...)
## S3 method for class 'draws_df'
weight_draws(x, weights, log = FALSE, pareto_smooth = FALSE, ...)
## S3 method for class 'draws_list'
weight_draws(x, weights, log = FALSE, pareto_smooth = FALSE, ...)
## S3 method for class 'draws_rvars'
weight_draws(x, weights, log = FALSE, pareto_smooth = FALSE, ...)
Arguments
x |
(draws) A |
weights |
(numeric vector) A vector of weights of length |
... |
Arguments passed to individual methods (if applicable). |
log |
(logical) Are the weights passed already on the log scale? The
default is |
pareto_smooth |
(logical) Should the weights be Pareto-smoothed?
The default is |
Value
A draws
object of the same class as x
.
See Also
weights.draws()
, resample_draws()
Examples
x <- example_draws()
# sample some random weights for illustration
wts <- rexp(ndraws(x))
head(wts)
# add weights
x <- weight_draws(x, weights = wts)
# extract weights
head(weights(x)) # defaults to normalized weights
head(weights(x, normalize=FALSE)) # recover original weights
head(weights(x, log=TRUE)) # get normalized log-weights
# add weights which are already on the log scale
log_wts <- log(wts)
head(log_wts)
x <- weight_draws(x, weights = log_wts, log = TRUE)
# extract weights
head(weights(x))
head(weights(x, log=TRUE, normalize = FALSE)) # recover original log_wts
# add weights on log scale and Pareto smooth them
x <- weight_draws(x, weights = log_wts, log = TRUE, pareto_smooth = TRUE)