View source: R/gather_variables.R
gather_variables | R Documentation |
Given a data frame such as might be returned by tidy_draws()
or spread_draws()
,
gather variables and their values from that data frame into a ".variable"
and ".value"
column.
gather_variables(data, exclude = c(".chain", ".iteration", ".draw", ".row"))
data |
A data frame with variable names spread across columns, such as one returned by
|
exclude |
A character vector of names of columns to be excluded from the gather. Default ignores several meta-data column names used in tidybayes. |
This function gathers every column except grouping columns and those matching the expression
exclude
into key/value columns ".variable"
and ".value"
.
Imagine a data frame data
as returned by spread_draws(fit, a[i], b[i,v])
, like this:
column ".chain"
: the chain number
column ".iteration"
: the iteration number
column ".draw"
: the draw number
column "i"
: value in 1:5
column "v"
: value in 1:10
column "a"
: value of "a[i]"
for draw number ".draw"
column "b"
: value of "b[i,v]"
for draw number ".draw"
gather_variables(data)
on that data frame would return a grouped
data frame (grouped by i
and v
), with:
column ".chain"
: the chain number
column ".iteration"
: the iteration number
column ".draw"
: the draw number
column "i"
: value in 1:5
column "v"
: value in 1:10
column ".variable"
: value in c("a", "b")
.
column ".value"
: value of "a[i]"
(when ".variable"
is "a"
;
repeated for every value of "v"
) or "b[i,v]"
(when ".variable"
is
"b"
) for draw number ".draw"
In this example, this call:
gather_variables(data)
Is roughly equivalent to:
data %>% gather(.variable, .value, -c(.chain, .iteration, .draw, i, v)) %>% group_by(.variable, .add = TRUE)
A data frame.
Matthew Kay
spread_draws()
, tidy_draws()
.
library(dplyr)
data(RankCorr, package = "ggdist")
RankCorr %>%
spread_draws(b[i,v], tau[i]) %>%
gather_variables() %>%
median_qi()
# the first three lines below are roughly equivalent to ggmcmc::ggs(RankCorr)
RankCorr %>%
tidy_draws() %>%
gather_variables() %>%
median_qi()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.