# NOT RUN {
####################################
# A simulated Data Set
####################################
nsubject <- 250
nitem <- 2
y <- matrix(0,nrow=nsubject,ncol=nitem)
dimnames(y)<-list(paste("id",seq(1:nsubject)),
paste("item",seq(1,nitem)))
ind <- rbinom(nsubject,1,0.5)
theta <- ind*rnorm(nsubject,-1,0.5)+(1-ind)*rnorm(nsubject,2,0.25)
beta <- c(0,seq(-3,3,length=nitem-1))
true.density <- function(grid)
{
0.5*dnorm(grid,-1,0.5)+0.5*dnorm(grid,2,0.25)
}
true.cdf <- function(grid)
{
0.5*pnorm(grid,-1,0.5)+0.5*pnorm(grid,2,0.25)
}
for(i in 1:nsubject)
{
for(j in 1:nitem)
{
eta <- theta[i]-beta[j]
rate <- exp(eta)
y[i,j] <- rpois(1,rate)
}
}
# Prior information
beta0 <- rep(0,nitem-1)
Sbeta0 <- diag(100,nitem-1)
prior <- list(N=50,
a0=2,
b0=0.1,
taub1=6.01,
taub2=2.01,
taus1=6.01,
taus2=2.01,
tauk1=6.01,
m0=0,
s0=100,
beta0=beta0,
Sbeta0=Sbeta0)
# Initial state
state <- NULL
# MCMC parameters
nburn <- 5000
nsave <- 5000
nskip <- 0
ndisplay <- 100
mcmc <- list(nburn=nburn,
nsave=nsave,
nskip=nskip,
ndisplay=ndisplay)
# Fit the model
fit1 <- DPMraschpoisson(y=y,prior=prior,mcmc=mcmc,
state=state,status=TRUE,grid=seq(-3,4,0.01))
plot(fit1$grid,fit1$dens.m,type="l",lty=1,col="red",
xlim=c(-3,4),ylim=c(0,0.8))
lines(fit1$grid,true.density(fit1$grid),lty=2,col="blue")
plot(fit1$grid,fit1$cdf.m,type="l",lty=1,col="red")
lines(fit1$grid,true.cdf(fit1$grid),lty=2,col="blue")
# Summary with HPD and Credibility intervals
summary(fit1)
summary(fit1,hpd=FALSE)
# Plot model parameters
# (to see the plots gradually set ask=TRUE)
plot(fit1,ask=FALSE)
plot(fit1,ask=FALSE,nfigr=2,nfigc=2)
# Extract random effects
DPrandom(fit1)
plot(DPrandom(fit1))
DPcaterpillar(DPrandom(fit1))
# }
Run the code above in your browser using DataLab