I’m currently in the process of modelling the above and I’ve confused myself a little. Below is my code, hopefully, someone with a little bit more experience can help with this. I’ve manually rearranged the log component as the logit function was adding to my confusion.

write("

data {

// Define variables in data

// Number of observations (an integer)

int<lower=0> N;

// Variables

int tooth30[N];

int<lower=0> age[N];

int<lower=0> smoked[N];

}

parameters {

real < lower = 0 > beta_0;

real < lower = 0 > beta_1;

real < lower = 0 > beta_2;

}

model {

vector[N] p;

beta_0 ~ normal(0,100);

beta_1 ~ normal(0,100);

beta_2 ~ normal(0,100);

for(i in 1:N){

p[i] = exp(beta_0 + beta_1*age + beta_2*smoked)/(1+beta_0 + beta_1*age + beta_2*smoked);

//

tooth30[i] ~ binomial(1,p[i])

}

}

",

file = “test_stan_code.stan”

)

## Expression is ill formed.

error in ‘model3dd83880558b_exam_stan_code’ at line 22, column 56

```
20: beta_2 ~ normal(0,100);
21: for(i in 1:N){
22: p[i] = exp(beta_0 + beta_1*age + beta_2*smoked)/(1+beta_0 + beta_1*age + beta_2*smoked);
^
23: //
```

Error in stanc(“exam_stan_code.stan”) :

failed to parse Stan model ‘exam_stan_code’ due to the above error

This is the error I’m getting, I’m aware that the form of smoked and possibly age are incorrect. Smoked is a 1 or 0 value, age is an integer.