# lkjcorr_marginal: Marginal distribution of a single correlation from an LKJ... In ggdist: Visualizations of Distributions and Uncertainty

## Description

Marginal distribution for the correlation in a single cell from a correlation matrix distributed according to an LKJ distribution.

## Usage

 ```1 2 3 4 5 6 7``` ```dlkjcorr_marginal(x, K, eta, log = FALSE) plkjcorr_marginal(q, K, eta, lower.tail = TRUE, log.p = FALSE) qlkjcorr_marginal(p, K, eta, lower.tail = TRUE, log.p = FALSE) rlkjcorr_marginal(n, K, eta) ```

## Arguments

 `x` vector of quantiles. `K` Dimension of the correlation matrix. Must be greater than or equal to 2. `eta` Parameter controlling the shape of the distribution `log` logical; if TRUE, probabilities p are given as log(p). `q` vector of quantiles. `lower.tail` logical; if TRUE (default), probabilities are P[X ≤ x] otherwise, P[X > x]. `log.p` logical; if TRUE, probabilities p are given as log(p). `p` vector of probabilities. `n` number of observations. If `length(n) > 1`, the length is taken to be the number required.

## Details

The LKJ distribution is a distribution over correlation matrices with a single parameter, eta. For a given eta and a KxK correlation matrix R:

R ~ LKJ(eta)

Each off-diagonal entry of R, r[i,j]: i != j, has the following marginal distribution (Lewandowski, Kurowicka, and Joe 2009):

(r[i,j] + 1)/2 ~ Beta(eta - 1 + K/2, eta - 1 + K/2)

In other words, r[i,j] is marginally distributed according to the above Beta distribution scaled into (-1,1).

## Value

• `dlkjcorr_marginal` gives the density

• `plkjcorr_marginal` gives the cumulative distribution function (CDF)

• `qlkjcorr_marginal` gives the quantile function (inverse CDF)

• `rlkjcorr_marginal` generates random draws.

The length of the result is determined by `n` for `rlkjcorr_marginal`, and is the maximum of the lengths of the numerical arguments for the other functions.

The numerical arguments other than `n` are recycled to the length of the result. Only the first elements of the logical arguments are used.

## References

Lewandowski, D., Kurowicka, D., & Joe, H. (2009). Generating random correlation matrices based on vines and extended onion method. Journal of Multivariate Analysis, 100(9), 1989–2001. doi: 10.1016/j.jmva.2009.04.008.

`parse_dist()` and `marginalize_lkjcorr()` for parsing specs that use the LKJ correlation distribution and the `stat_dist_slabinterval()` family of stats for visualizing them.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23``` ```library(dplyr) library(ggplot2) library(forcats) theme_set(theme_ggdist()) expand.grid( eta = 1:6, K = 2:6 ) %>% ggplot(aes(y = fct_rev(ordered(eta)), dist = "lkjcorr_marginal", arg1 = K, arg2 = eta)) + stat_dist_slab() + facet_grid(~ paste0(K, "x", K)) + labs( title = paste0( "Marginal correlation for LKJ(eta) prior on different matrix sizes:\n", "dlkjcorr_marginal(K, eta)" ), subtitle = "Correlation matrix size (KxK)", y = "eta", x = "Marginal correlation" ) + theme(axis.title = element_text(hjust = 0)) ```