Learn R Programming

powerprior (version 1.0.0)

sample_posterior_univariate: Sample from Posterior Distribution (Univariate)

Description

Generates samples from the posterior distribution using the conjugate representation. Can sample the joint distribution (mu, sigma2) or just the marginal distribution of mu.

Usage

sample_posterior_univariate(posterior, n_samples = 1000, marginal = FALSE)

Value

If marginal=FALSE, a matrix with columns "mu" and "sigma2". If marginal=TRUE, a vector of mu samples.

Arguments

posterior

Object of class "posterior_univariate" from posterior_univariate()

n_samples

Number of samples to generate (default: 1000)

marginal

Logical. If TRUE, samples only mu from t-distribution. If FALSE, samples joint (mu, sigma2) from NIX distribution (default: FALSE)

Examples

Run this code
# Generate data and compute posterior
historical <- rnorm(50, mean = 10, sd = 2)
current <- rnorm(30, mean = 10.5, sd = 2)
pp <- powerprior_univariate(historical, a0 = 0.5)
posterior <- posterior_univariate(pp, current)

# Sample from joint distribution
samples_joint <- sample_posterior_univariate(posterior, n_samples = 1000)

# Sample from marginal distribution of mu
samples_marginal <- sample_posterior_univariate(posterior, n_samples = 1000,
                                                 marginal = TRUE)

Run the code above in your browser using DataLab