| parse_dist | R Documentation |
Parses simple string distribution specifications, like "normal(0, 1)", into two columns of
a data frame, suitable for use with the dist and args aesthetics of stat_slabinterval()
and its shortcut stats (like stat_halfeye()). This format is output
by brms::get_prior, making it particularly useful for visualizing priors from
brms models.
parse_dist(
object,
...,
dist = ".dist",
args = ".args",
dist_obj = ".dist_obj",
package = NULL,
to_r_names = TRUE
)
## Default S3 method:
parse_dist(object, ...)
## S3 method for class 'data.frame'
parse_dist(
object,
dist_col,
...,
dist = ".dist",
args = ".args",
dist_obj = ".dist_obj",
package = NULL,
lb = "lb",
ub = "ub",
to_r_names = TRUE
)
## S3 method for class 'character'
parse_dist(
object,
...,
dist = ".dist",
args = ".args",
dist_obj = ".dist_obj",
package = NULL,
to_r_names = TRUE
)
## S3 method for class 'factor'
parse_dist(
object,
...,
dist = ".dist",
args = ".args",
dist_obj = ".dist_obj",
package = NULL,
to_r_names = TRUE
)
## S3 method for class 'brmsprior'
parse_dist(
object,
dist_col = prior,
...,
dist = ".dist",
args = ".args",
dist_obj = ".dist_obj",
package = NULL,
to_r_names = TRUE
)
r_dist_name(dist_name)
object |
<character | data.frame> One of:
|
... |
Arguments passed to other implementations of |
dist |
<string> The name of the output column to contain the distribution name. |
args |
<string> The name of the output column to contain the arguments to the distribution. |
dist_obj |
<string> The name of the output column to contain a distributional object representing the distribution. |
package |
<string | environment | NULL> The package or environment to search for
distribution functions in. Passed to
|
to_r_names |
<scalar logical> If |
dist_col |
<bare language> Column or column expression of |
lb |
<string> The name of an input column (for |
ub |
<string> The name of an input column (for |
dist_name |
<character> For |
parse_dist() can be applied to character vectors or to a data frame + bare column name of the
column to parse, and returns a data frame with ".dist" and ".args" columns added.
parse_dist() uses r_dist_name() to translate distribution names into names recognized
by R.
r_dist_name() takes a character vector of names and translates common names into R
distribution names. Names are first made into valid R names using make.names(),
then translated (ignoring character case, ".", and "_"). Thus, "lognormal",
"LogNormal", "log_normal", "log-Normal", and any number of other variants
all get translated into "lnorm".
parse_dist returns a data frame containing at least two columns named after the dist and args
parameters. If the input is a data frame, the output is a data frame of the same length with those
two columns added. If the input is a character vector or factor, the output is a two-column data frame
with the same number of rows as the length of the input.
r_dist_name returns a character vector the same length as the input containing translations of the
input names into distribution names R can recognize.
See stat_slabinterval() and its shortcut stats, which can easily make use of
the output of this function using the dist and args aesthetics.
library(dplyr)
# parse dist can operate on strings directly...
parse_dist(c("normal(0,1)", "student_t(3,0,1)"))
# ... or on columns of a data frame, where it adds the
# parsed specs back on as columns
data.frame(prior = c("normal(0,1)", "student_t(3,0,1)")) %>%
parse_dist(prior)
# parse_dist is particularly useful with the output of brms::prior(),
# which follows the same format as above
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.