R/RcppExports.R
gibbs_gl.Rd
Gibbs sampler under random mating using genotype log-likelihoods.
gibbs_gl(
gl,
alpha,
B = 10000L,
T = 1000L,
more = FALSE,
lg = FALSE,
verbose = TRUE
)
The matrix of genotype log-likelihoods. The columns index the
dosages and the rows index the individuals. gl[i,j]
is the
genotype log-likelihood for individual i at dosage j. It is assumed
that natural log is used.
Vector of hyperparameters for the gamete frequencies. Should be length (x.length() - 1) / 2 + 1.
The number of sampling iterations.
The number of burn-in iterations.
A logical. Should we also return posterior draws (TRUE
)
or not (FALSE
).
Should we return the log marginal likelihood (true) or not (false).
A logical. Should we print the progress?
A list with some or all of the following elements
mx
: The estimate of the marginal likelihood
p_tilde
: The value of p used to evaluate the posterior density.
p
: The samples of the gamete frequencies
z
: The samples of the individual genotypes
post
: The samples of the full conditionals of p_tilde.
set.seed(1)
ploidy <- 8
## Simulate under the null
p <- stats::runif(ploidy / 2 + 1)
p <- p / sum(p)
q <- stats::convolve(p, rev(p), type = "open")
nvec <- c(stats::rmultinom(n = 1, size = 100, prob = q))
gl <- simgl(nvec)
gibbs_gl(gl = gl, alpha = rep(1, ploidy / 2 + 1), lg = TRUE)
#> Sampling for random mating model using genotype likelihoods
#> Iteration: 0 / 11000 (Warmup)
#> Iteration: 1100 / 11000 (Sampling)
#> Iteration: 2200 / 11000 (Sampling)
#> Iteration: 3300 / 11000 (Sampling)
#> Iteration: 4400 / 11000 (Sampling)
#> Iteration: 5500 / 11000 (Sampling)
#> Iteration: 6600 / 11000 (Sampling)
#> Iteration: 7700 / 11000 (Sampling)
#> Iteration: 8800 / 11000 (Sampling)
#> Iteration: 9900 / 11000 (Sampling)
#> $mx
#> [1] -233.8707
#>