geese.R

Revision 1 - 8/8/10 at 4:01 pm by eric.ward

Back to revision history for geese.R
This file is part of the project IsoEcol7_workshop_files
library(runjags)
library(R2WinBUGS)
library(R2jags)
library(BRugs)
library(gtools)
library(gdata)
library(siar)

# Load in the geese data from SIAR
u = as.matrix(sourcesdemo[,c(2,4)] + correctionsdemo[,c(2,4)])
sigma2 = sourcesdemo[,c(3,5)]^2 + correctionsdemo[,c(3,5)]^2
X = geese1demo
N = dim(X)[1]
num.prey = dim(u)[1]
num.iso = dim(u)[2]

#These are the parameters that need to be set by the user
  mcmc.chainLength <- as.integer(10000)  # post-burn
  mcmc.burn <- as.integer(5000)
  mcmc.thin = 1;
  mcmc.chains = 3       # needs to be at least 2 for DIC
  alpha=rep(1,num.prey)
  
  jags.data = list("u", "sigma2", "N", "num.prey", "num.iso", "num.pop","X","alpha")  

  model.loc = "MixSIR.txt"
  jags.params = c("p")
  jags.1 = jags(jags.data, inits = NULL, parameters.to.save= jags.params, model.file=model.loc, n.chains = mcmc.chains, n.burnin = mcmc.burn, n.thin = mcmc.thin, n.iter = mcmc.chainLength, DIC = TRUE) 
  attach.jags(jags.1)
  p.mixSIR = p
  print(jags.1$BUGSoutput$DIC)
  
  model.loc = "SIAR.txt"
  jags.params = c("p","resid.sigma")  
  jags.2 = jags(jags.data, inits = NULL, parameters.to.save= jags.params, model.file=model.loc, n.chains = mcmc.chains, n.burnin = mcmc.burn, n.thin = mcmc.thin, n.iter = mcmc.chainLength, DIC = TRUE) 
  attach.jags(jags.2)  
  p.SIAR = p
   print(jags.2$BUGSoutput$DIC)
  
  model.loc = "individual.txt"
  jags.params = c("p","p.mean","ind.sig")  
  jags.3 = jags(jags.data, inits = NULL, parameters.to.save= jags.params, model.file=model.loc, n.chains = mcmc.chains, n.burnin = mcmc.burn, n.thin = mcmc.thin, n.iter = mcmc.chainLength, DIC = TRUE) 
  attach.jags(jags.3)  
  p.ind.mean = p.mean
  p.ind = p
   print(jags.3$BUGSoutput$DIC)
  
  model.loc = "individual-residual.txt"
  jags.params = c("p","p.mean", "ind.sig", "resid.sig")  
  jags.4 = jags(jags.data, inits = NULL, parameters.to.save= jags.params, model.file=model.loc, n.chains = mcmc.chains, n.burnin = mcmc.burn, n.thin = mcmc.thin, n.iter = mcmc.chainLength, DIC = TRUE) 
  attach.jags(jags.4)  
  p.indresid.mean = p.mean
  p.indresid = p  
  print(jags.4$BUGSoutput$DIC)
  
  # Make density plots of the 4 sources
  par(mfrow = c(2,2))
  cols = c("blue1","tomato1","green3","purple")
  for(i in 1:4) {
    d = density(p.mixSIR[,i], from=0, to = 1)	
  	d$y = d$y/sum(d$y)
  	plot(d$x,d$y, xlab=sourcesdemo[i,1], ylab="Density",main="", lwd = 2, col = cols[1], type="l")
    d = density(p.SIAR[,i], from=0, to = 1)	
  	d$y = d$y/sum(d$y)  	
  	lines(d$x,d$y,lwd=2,col=cols[2])
    d = density(p.ind.mean[,i], from=0, to = 1)	
  	d$y = d$y/sum(d$y)  	
  	lines(d$x,d$y,lwd=2,col=cols[3])  	
    d = density(p.indresid.mean[,i], from=0, to = 1)	
  	d$y = d$y/sum(d$y)  	
  	lines(d$x,d$y,lwd=2,col=cols[4]) 
  	if(i==1) {
  		legend('topleft',legend=c("SIAR","MixSIR","Ind","Ind-resid"),lwd=2,lty=1,col=cols,inset=0.05)	
  	} 	
  }
  
  
  
Sculpin 0.2 | xhtml | problems or comments? | report bugs