# Compilation ERROR, function(s)/method(s) not created! Bayesian inference of logistic growth model

Hello,

I am a new user of Rstan and I’m trying to compute an inference on a logistic growth model (of a mycelium). I had some troubles with the real / vector division, I wrote my model again as a loop but it’s stil not working. Here is the model, where t_i is the time and \alpha, \gamma and k are the parameters I want to infer and q_i is the mycelium quantity.

q_i \sim \mathcal{N}\left( \frac{(\alpha-\gamma)}{\alpha-\gamma-\gamma \times k) \times \exp{((\gamma - \alpha) \times t_i)}+\gamma \times k},~ \sigma^2 \right)

Here is how I write it in the .stan file :

data {
int N; //the number of observations
vector[N] x; //time
vector[N] y; //Mycelium quantities (from qPCR)
}
parameters {
real a;
real<lower=0> k;
real<lower=0> g;
real<lower=0> sigma;
}
model {
for(i in 1:N){
y[i] ~ normal((a-g)/((a-g-g*k)*exp((g-a)*x[i])+g*k),sigma);
}
//y~normal(k/(1+beta*exp(-a*x)),sigma); DOESN'T WORK BECAUSE OF real/vector not definded
}


Here is the way I call it from R

model<-stan(file=“Méthode des résidus normaux.stan”,data = list(N=nrow(Gdata),y=Gdata[,2],x=Gdata[,1]),pars = c(“a”,“k”,“g”,“sigma”))

Here Gdata is a matrix with two columns : the first one is the time (from 1 to 21) the second one is the Mycelium quantity (from 0 to 60 000).

And finally here is my error message :

Error in compileCode(f, code, language = language, verbose = verbose) :
Compilation ERROR, function(s)/method(s) not created! file256c168d6418.cpp:10:1: error: stray ‘\303’ in program
^
file256c168d6418.cpp:10:1: error: stray ‘\251’ in program
file256c168d6418.cpp:10:1: error: stray ‘\303’ in program
file256c168d6418.cpp:10:1: error: stray ‘\251’ in program
file256c168d6418.cpp:30:1: error: stray ‘\303’ in program
^
file256c168d6418.cpp:30:1: error: stray ‘\251’ in program
file256c168d6418.cpp:30:1: error: stray ‘\303’ in program
file256c168d6418.cpp:30:1: error: stray ‘\251’ in program
file256c168d6418.cpp:36:5: error: stray ‘\303’ in program
Notice that the class model256c5074ecf_MÃ©thode_des_rÃ©sidus_normaux contains a mangled version of the file name of your Stan program, which has non-ASCII characters in it. Offhand, it looks like the non-ASCII characters in your file name were originally Unicode, but RStan is treating those characters as sequences of bytes when it incorporates them into the class name, and those bytes (the stray \251 and \303) are treated as characters that are not allowed in the name of a C++ variable.