Compute Monte Carlo standard errors for quantile estimates of a single variable.

mcse_quantile(x, probs = c(0.05, 0.95), ...)

# S3 method for default
mcse_quantile(x, probs = c(0.05, 0.95), names = TRUE, ...)

# S3 method for rvar
mcse_quantile(x, probs = c(0.05, 0.95), names = TRUE, ...)

mcse_median(x, ...)



(multiple options) One of:


(numeric vector) Probabilities in [0, 1].


Arguments passed to individual methods (if applicable).


(logical) Should the result have a names attribute? The default is TRUE, but use FALSE for improved speed if there are many values in probs.


If the input is an array, returns a numeric vector with one element per quantile. If any of the draws is non-finite, that is, NA, NaN, Inf, or -Inf, the returned output will be a vector of (numeric) NA values. Also, if all draws of a variable are the same (constant), the returned output will be a vector of (numeric) NA

values as well. The reason for the latter is that, for constant draws, we cannot distinguish between variables that are supposed to be constant (e.g., a diagonal element of a correlation matrix is always 1) or variables that just happened to be constant because of a failure of convergence or other problems in the sampling process.

If the input is an rvar and length(probs) == 1, returns an array of the same dimensions as the rvar, where each element is equal to the value that would be returned by passing the draws array for that element of the rvar to this function. If length(probs) > 1, the first dimension of the result indexes the input probabilities; i.e. the result has dimension c(length(probs), dim(x)).


Aki Vehtari, Andrew Gelman, Daniel Simpson, Bob Carpenter, and Paul-Christian Bürkner (2021). Rank-normalization, folding, and localization: An improved R-hat for assessing convergence of MCMC (with discussion). Bayesian Data Analysis. 16(2), 667-–718. doi:10.1214/20-BA1221

See also

Other diagnostics: ess_basic(), ess_bulk(), ess_quantile(), ess_sd(), ess_tail(), mcse_mean(), mcse_sd(), rhat_basic(), rhat(), rstar()


mu <- extract_variable_matrix(example_draws(), "mu")
mcse_quantile(mu, probs = c(0.1, 0.9))
#>  mcse_q10  mcse_q90 
#> 0.3199011 0.2677437 

d <- as_draws_rvars(example_draws("multi_normal"))
#>                 [,1]       [,2]       [,3]
#> mcse_q5  0.012675014 0.01279547 0.02331627
#> mcse_q95 0.008302994 0.02609606 0.05555146