# Issues with OpenBUGS and switch bug's codes to Stan

**URL:** <https://discourse.mc-stan.org/t/issues-with-openbugs-and-switch-bugs-codes-to-stan/21305>\
**Category:** General\
**Tags:** fitting-issues\
**Created:** [March 15, 2021, 7:54am UTC](https://discourse.mc-stan.org/t/issues-with-openbugs-and-switch-bugs-codes-to-stan/21305 "2021-03-15T07:54:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Isa\_Nazar](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/isa_nazar/32/9376_2.png) [@Isa\_Nazar](https://discourse.mc-stan.org/u/Isa_Nazar)\
**Post date:** [March 15, 2021, 7:54am UTC](https://discourse.mc-stan.org/t/issues-with-openbugs-and-switch-bugs-codes-to-stan/21305/1 "2021-03-15T07:54:02Z")

</div>

Hello! I am new to Stan and I am trying to switch the bug’s code of my spatial survival model to Stan. In OpenBUGS, my model is syntactically correct, data loaded, model compiled, initial values generated and model initialized. But, during the updating time of the model (model is updating), I encounter the following error in OpenBUGS:  
“Sorry, something went wrong in procedure Stack. Value in module GraphStack”.  
To tackle this problem, I am trying to switch the following bug’s code to Stan. Can anyone help me?

```
model {
for (k in 1:q) {
for (j in 1:ng) {
landa[k,j] <- kernel [k,j] * exp(x[j])
}
z[k]<- sum(landa[k,])*p[k]
a[k]<- z[k]/sum(z[])
for (i in 1:N) {
#temp: (logt-beta0-beta*x-frailty) / sigma1
temp[k,i]<- (log(time[i]+0.01)-beta0-beta [1]*sex [i]-beta [2]*prison [i]-beta [3]*(age[i]-40)/20-beta [4]*smear.diag[i]-beta[5]*history[i]-W[county[i]]) / sigma
#survival and density function of extreme value distribution
s0[k,i]<-exp(-exp(temp[k,i]))
f0[k,i]<-s0[k,i]*exp(temp[k,i])
#loglikelihood function
L[k,i]<- censor.status[i]*log(f0[k,i])-censor.status[i]* log(sigma)-censor.status[i]*log(time[i]+0.01)+log(s0[k,i])+log(a[k])-censor.status[i]*log(s0[k,i])
zeros[k,i]<-0
zeros[k,i] ~dloglik(L[k,i])
}
}
#prior
inversesigma~ dgamma (1,2)
sigma<- 1/inversesigma
beta0~dnorm(0,0.001)
for(m in 1:5) {beta[m]~ dnorm(0,0.001)}
for(j in 1:ng) {x[j]~dnorm(0,0.04)}
for(i in 1:14) {W[i]~dnorm(0,0.001)}
}

```

```
list(beta0=0,inversesigma=0.10,beta=c(0,0,0,0,0),x=c(0,0,0,0,0,0,0,0))

```

```
list(kernel =structure(.Data = c( 0.5158, 0.5853, 0.6622, 0.7440, 0.5257, 0.5994, 0.6833, 0.7787, 0.7102, 0.7641, 0.7793, 0.7452, 0.7686, 0.8550, 0.8872, 0.8216, 0.9454, 0.8349, 0.7330,0.6431, 0.8957, 0.8156, 0.7227, 0.6367, 0.8717, 0.8607, 0.7817, 0.6941, 0.9494, 0.9234, 0.8098, 0.7102,0.5822, 0.6598, 0.7436, 0.8250, 0.5936, 0.6769, 0.7717, 0.8798, 0.6648,0.7547, 0.8505, 0.9158, 0.6696, 0.7627, 0.8669, 0.9571, 0.9309, 0.9412, 0.8256, 0.7240, 0.8666, 0.8711, 0.7959, 0.7076,0.4144,0.4629,0.5131,0.5622,0.4393,0.4951,0.5553,0.6175,0.3315,0.3694,0.4091,0.4492,0.3537,0.3971,0.4437,0.4924,0.4767,0.5392,0.6073,0.6786,0.4914,0.5594,0.6362,0.7220,0.4178,0.4711,0.5288,0.5892,0.4350,0.4939,0.5596,0.6318,0.7955,0.9026,0.9452,0.8401,0.7850,0.8785,0.9074,0.8259,0.7840,0.7758,0.7242,0.6555,0.8896,0.8715,0.7849,0.6946,0.5022,0.5515,0.5957,0.6276,0.5424,0.6042,0.6636,0.7105), .Dim=c(14, 8)), q=14, ng=8,p=c(0.92,0.87,0.86,0.86,0.88,0.87,0.85,0.94,0.92,0.87,0.82,0.83,0.80,0.91))
list(N=2490)
county[] sex[] prison[] age[] smear.diag[] history[] censor.status[] time[]

END

```

Best regards,  
Eisa

---

<div class="post-metadata">

**Author:** ![Ara\_Winter](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/ara_winter/32/4284_2.png) [@Ara\_Winter](https://discourse.mc-stan.org/u/Ara_Winter)\
**Post date:** [March 15, 2021, 3:02pm UTC](https://discourse.mc-stan.org/t/issues-with-openbugs-and-switch-bugs-codes-to-stan/21305/2 "2021-03-15T15:02:34Z")

</div>

There is a pretty helpful section in the manual here: [25 Transitioning from BUGS | Stan User’s Guide](https://mc-stan.org/docs/2_22/stan-users-guide/stan-for-bugs-appendix.html)

If you can take stab at writing out the Stan code and provide your OS, version of Stan, R or python that you are using.

There are a number of survival model examples written for Stan. See here:  
[https://ermeel86.github.io/case\_studies/surv\_stan\_example.html](https://ermeel86.github.io/case_studies/surv_stan_example.html)  
[https://rstudio-pubs-static.s3.amazonaws.com/435225\_07b4ab5afa824342a4680c9fb2de6098.html](https://rstudio-pubs-static.s3.amazonaws.com/435225_07b4ab5afa824342a4680c9fb2de6098.html)

> [@Multivariate CAR modelling based on paper of 'Hierarchical multivariate CAR models for spatio-temporally correlated survival data'](https://discourse.mc-stan.org/t/multivariate-car-modelling-based-on-paper-of-hierarchical-multivariate-car-models-for-spatio-temporally-correlated-survival-data/10845):
>
> Hey there, I am sort of new to stan. I am using stan to fit a Multivariate CAR model (area spatial model for two diseases ), the MCAR can be express a multivariate Gaussian distribution where n is the number of subareas, p=2 represents that there are 2 diseases. And R\_1 and R\_2 are Cholesky factorization of diag(\omega\_{i+}) - \alpha\_1 W and diag(\omega\_{i+}) - \alpha\_2 W respectively. And \alpha\_1 and \alpha\_2 are two different propriety parameters for the two diseases. W …
