dear @cmcd and dear @jsocolar .

i am trying to run the model . at this stage , i have a problem , i dont know the meaning of this error . i searched but did not find the result .

library(“rstan”)

library(“rstudioapi”)

library(“parallel”)

library(“brms”)

rstan_options(auto_write = TRUE)

options(mc.cores = parallel::detectgores())

library(pkgbuild) # load packAge

find_rtools() # should be TRUE, assuming you have Rtools 3.5

#fit model icar.stan to NYC census tracts neighborhood map

install.packages(‘tidyverse’, dependencies = TRUE)

install.packages(‘rstanarm’, dependencies = TRUE)

library(rstan);

library(tidyverse)

library(rstanarm)

"data {

int<lower=0> N;

int<lower=0> N_edges;

int<lower=1, upper=N> node1[N_edges]; // node1[i] adjacent to node2[i]

int<lower=1, upper=N> node2[N_edges]; // and node1[i] < node2[i]

int<lower=0> y[N]; // count outcomes

vector<lower=0>[N] E; // exposure

int<lower=1> K; // num covariates

matrix[N, K] x; // design matrix

real<lower=0> scaling_factor; // scales the variance of the spatial effects

}

transformed data {

vector[N] log_E = log(E);

}

parameters {

real beta0; // intercept

vector[K] betas; // covariates

real<lower=0> sigma; // overall standard deviation

real<lower=0, upper=1> rho; // proportion unstructured vs. spatially structured variance

vector[N] theta; // heterogeneous effects

vector[N] phi; // spatial effects

}

transformed parameters {

vector[N] convolved_re;

// variance of each component should be approximately equal to 1

convolved_re = sqrt(1 - rho) * theta + sqrt(rho / scaling_factor) * phi;

}

model {

y ~ poisson_log(log_E + beta0 + x * betas + convolved_re * sigma); // co-variates

// This is the prior for phi! (up to proportionality)

target += -0.5 * dot_self(phi[node1] - phi[node2]);

beta0 ~ normal(0.0, 1.0);

betas ~ normal(0.0, 1.0);

theta ~ normal(0.0, 1.0);

sigma ~ normal(0, 1.0);

rho ~ beta(0.5, 0.5);

// soft sum-to-zero constraint on phi)

sum(phi) ~ normal(0, 0.001 * N); // equivalent to mean(phi) ~ normal(0,0.001)

}

generated quantities {

real logit_rho = log(rho / (1.0 - rho));

vector[N] eta = log_E + beta0 + x * betas + convolved_re * sigma; // co-variates

vector[N] mu = exp(eta);

}"

options(mc.cores = parallel::detectCores())

library(INLA)

source(“mungecardata4stan.R”)

source(“iran_data.R”)

y = data$y;

E = data$E;

K = 1;

x = 0.1 * data$x;

nbs = mungeCARdata4stan(data$adj, data$num);

N = nbs$N;

node1 = nbs$node1;

node2 = nbs$node2;

N_edges = nbs$N_edges;

adj.matrix = sparseMatrix(i=nbs$node1,j=nbs$node2,x=1,symmetric=TRUE)

Q= Diagonal(nbs$N, rowSums(adj.matrix)) - adj.matrix

Q_pert = Q + Diagonal(nbs$N) * max(diag(Q)) * sqrt(.Machine$double.eps)

Q_inv = inla.qinv(Q_pert, constr=list(A = matrix(1,1,nbs$N),e=0))

scaling_factor = exp(mean(log(diag(Q_inv))))

scot_stanfit = stan(“bym2_predictor_plus_offset.stan”, data=list(N,N_edges,node1,node2,y,x,E,scaling_factor), warmup=5000, iter=6000);

**Error in new_CppObject_xp(fields$.module, fields$.pointer, …) : ****

** Exception: variable does not exist; processing stage=data initialization; variable name=N; base type=int (in ‘string’, line 3, column 2 to column 17)

**In addition: Warning message:**

**In readLines(file, warn = TRUE) :**

** incomplete final line found on ‘C:\Users\Uaer\Downloads\bym2_predictor_plus_offset.stan’**

**failed to create the sampler; sampling not done**