Skip to contents

Randomly samples rows from a matrix or data frame containing MCMC posterior samples. Useful for generating parameter sets to use in posterior predictive simulations or scenario analyses.

Usage

sample_mcmc_steps(mcmc_results, num_samples)

Arguments

mcmc_results

A matrix or data frame where each row represents a parameter set from the posterior distribution.

num_samples

Integer specifying how many parameter sets to sample.

Value

A matrix of dimension num_samples × ncol(mcmc_results), containing randomly selected parameter sets.

Examples

# Simulate MCMC posterior with 100 samples and 3 parameters
posterior_samples <- matrix(rnorm(300), nrow = 100, ncol = 3)
colnames(posterior_samples) <- c("alpha", "beta", "gamma")

# Draw 10 random samples from the MCMC results
sampled <- sample_mcmc_steps(posterior_samples, 10)
print(sampled)
#>             alpha        beta       gamma
#>  [1,] -0.48458953  1.05221968 -2.53508347
#>  [2,] -0.41346658  0.03240079 -0.42658891
#>  [3,]  1.77704370 -0.43289519 -0.84285578
#>  [4,] -1.53788648 -0.02874932 -0.70066975
#>  [5,]  0.03022722 -1.95932664  0.05495264
#>  [6,] -0.99924986 -0.61560579  1.53916993
#>  [7,] -0.89895901  0.40647951 -1.12716761
#>  [8,]  1.82762766  1.36502319  0.38494920
#>  [9,] -0.25127278 -2.45427723 -0.31402132
#> [10,] -0.32354468  1.47217859 -1.17577589