if (FALSE) {
library(HelpersMG)
require(coda)
x <- rnorm(30, 10, 2)
dnormx <- function(data, x) {
data <- unlist(data)
return(-sum(dnorm(data, mean=x['mean'], sd=x['sd'], log=TRUE)))
}
parameters_mcmc <- setPriors1(Name = "mean",
Density = "dnorm", Prior1 = 10, Prior2 = 2,
SDProp = 1, Min = -3, Max = 100, Init = 10)
parameters_mcmc <- parameters_mcmc + setPriors1(Name = "sd",
Density = "dlnorm", Prior1 = 0.5, Prior2 = 0.5,
SDProp = 1, Min = 0, Max = 10, Init = 2)
mcmc_run <- MHalgoGen(n.iter=10000, parameters=parameters_mcmc, data=x,
likelihood=dnormx, n.chains=1, n.adapt=100, thin=1, trace=1)
# Return the 2.5% and 97.5% quantiles of the mean parameter
k <- PPD(x=mcmc_run, namepar="mean")
k <- PPD(x=mcmc_run, namepar=NULL)
k <- PPD(x=mcmc_run, namepar=c("mean", "sd"))
# Here I return the distribution of coefficient of variation as a posterior predictive distribution
k <- PPD(x=mcmc_run ,
FUN="sd/mean" )
# I can generate an output based on a x variable
k <- PPD(x=mcmc_run ,
xlim=c(1, 2) ,
nameparxlim="mult" ,
FUN="mult*mean" )
}
Run the code above in your browser using DataLab