Summarise the distribution of random draws
in an rvec, using quantiles.
Arguments
- x
- An object of class rvec. 
- probs
- Vector of probabilities. 
- na_rm
- Whether to remove NAs before calculating summaries. Default is - FALSE.
Value
A tibble.
Details
The probs argument defaults to
c(0.025, 0.25, 0.5, 0.75, 0.975),
the values needed for a median,
a 50% credible intervals, and a
95% credible interval.
Warning
It is tempting to assign the results
of a call to draws_quantile() to a
column in a data frame,
as in
my_df$quantile <- draws_quantile(my_rvec)
However, creating data frame columns in this way can corrupt data frames. For safer options, see the examples below.
See also
draws_ci() creates simple credible intervals.
Other functions for applying pre-specified functions across draws are:
Apply arbitrary function across draws:
For additional functions for summarising random draws, see
tidybayes
and ggdist.
Function as_list_col() converts rvecs into a
format that tidybayes and ggdist can work with.
Examples
set.seed(0)
m <- rbind(a = rnorm(100, mean = 5, sd = 2),
           b = rnorm(100, mean = -3, sd = 3),
           c = rnorm(100, mean = 0, sd = 20))
x <- rvec(m)
x
#> <rvec_dbl<100>[3]>
#>                a                b                c 
#>     4.9 (2, 8.2) -3.6 (-7.1, 2.9)    1.1 (-35, 36) 
draws_quantile(x)
#> # A tibble: 3 × 5
#>    x_2.5   x_25  x_50  x_75 x_97.5
#>    <dbl>  <dbl> <dbl> <dbl>  <dbl>
#> 1   2.02   3.86  4.93  6.25   8.23
#> 2  -7.06  -5.60 -3.61 -1.24   2.87
#> 3 -35.3  -12.3   1.06 13.0   36.1 
## results from 'draws_quantile'
## assigned to a data frame
library(dplyr)
df <- data.frame(x)
## base R approach
cbind(df, draws_quantile(x))
#>                  x      x_2.5       x_25      x_50      x_75    x_97.5
#> 1     4.9 (2, 8.2)   2.017346   3.861163  4.934077  6.250702  8.228987
#> 2 -3.6 (-7.1, 2.9)  -7.058286  -5.600306 -3.611295 -1.239950  2.872534
#> 3    1.1 (-35, 36) -35.275211 -12.331310  1.061243 13.036488 36.052985
## a tidyverse alternative:
## mutate with no '='
df |>
  mutate(draws_quantile(x))
#>                  x      x_2.5       x_25      x_50      x_75    x_97.5
#> 1     4.9 (2, 8.2)   2.017346   3.861163  4.934077  6.250702  8.228987
#> 2 -3.6 (-7.1, 2.9)  -7.058286  -5.600306 -3.611295 -1.239950  2.872534
#> 3    1.1 (-35, 36) -35.275211 -12.331310  1.061243 13.036488 36.052985