
runireg
implements an iid sampler to draw from the posterior of a univariate regression with a conjugate prior.runireg(Data, Prior, Mcmc)
X
y
betabar
A
nu
ssq
R
keep
runiregGibbs
if(nchar(Sys.getenv("LONG_TEST")) != 0) {R=2000} else {R=10}
set.seed(66)
n=200
X=cbind(rep(1,n),runif(n)); beta=c(1,2); sigsq=.25
y=X%*%beta+rnorm(n,sd=sqrt(sigsq))
out=runireg(Data=list(y=y,X=X),Mcmc=list(R=R))
cat("betadraws ",fill=TRUE)
mat=apply(out$betadraw,2,quantile,probs=c(.01,.05,.5,.95,.99))
mat=rbind(beta,mat); rownames(mat)[1]="beta"; print(mat)
cat("Sigma-sq draws",fill=TRUE)
cat("sigma-sq= ",sigsq,fill=TRUE)
print(quantile(out$sigmasqdraw,probs=c(.01,.05,.5,.95,.99)))
Run the code above in your browser using DataLab