add_draws | R Documentation |
Add draws from a matrix of draws (usually draws from a predictive distribution) to a data frame in tidy format. This is
a generic version of add_predicted_draws()
that can be used with model types
that have their own prediction functions that are not yet supported by tidybayes.
add_draws(data, draws, value = ".value")
data |
Data frame to add draws to, with M rows. |
draws |
N by M matrix of draws, with M columns corresponding to the M rows in |
value |
The name of the output column; default |
Given a data frame with M rows and an N by M matrix of N draws, adds a .row
, .draw
, and .value
column (or another name if value
is set) to data
, and expands data
into a long-format dataframe of draws.
add_epred_draws(df, m)
is roughly equivalent to add_draws(df, posterior_epred(m, newdata = df))
, except
that add_epred_draws
standardizes argument names and values across packages and has additional features for some
model types (like handling ordinal responses and distributional parameters in brms).
add_predicted_draws(df, m)
is roughly equivalent to add_draws(df, posterior_predict(m, newdata = df))
, except
that add_predicted_draws
standardizes argument names and values across packages.
A data frame (actually, a tibble) with a .row
column (a
factor grouping rows from the input data
), a .draw
column (a unique index corresponding to each draw
from the distribution), and a column with its name specified by the value
argument (default is .value
)
containing the values of draws from draws
. The data frame is grouped by all rows in data
plus the .row
column.
Matthew Kay
add_predicted_draws()
, add_draws()
## Not run:
library(ggplot2)
library(dplyr)
library(brms)
library(modelr)
theme_set(theme_light())
m_mpg = brm(mpg ~ hp * cyl, data = mtcars,
# 1 chain / few iterations just so example runs quickly
# do not use in practice
chains = 1, iter = 500)
# plot posterior predictive intervals
mtcars %>%
group_by(cyl) %>%
data_grid(hp = seq_range(hp, n = 101)) %>%
# the line below is roughly equivalent to add_epred_draws(m_mpg), except
# that it does not standardize arguments across model types.
add_draws(posterior_epred(m_mpg, newdata = .)) %>%
ggplot(aes(x = hp, y = mpg, color = ordered(cyl))) +
stat_lineribbon(aes(y = .value), alpha = 0.25) +
geom_point(data = mtcars) +
scale_fill_brewer(palette = "Greys")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.