https://github.com/julianmwagner/spiracle_scaling
Tip revision: 0ad9383b23d156430adcaae2d53861b595205e72 authored by Julian Wagner on 06 July 2022, 21:12:18 UTC
adding a bit of code to make a table of gdiff and gadv per spiracle
adding a bit of code to make a table of gdiff and gadv per spiracle
Tip revision: 0ad9383
spiracle_pgls_prior_predictive.stan
functions {
real f(real x_i, real a, real b) {
real y_i = x_i*a + b;
return y_i;
}
}
data {
int<lower=1> N;
vector[N] x;
real a_mu;
real a_sig;
real b_mu;
real b_sig;
real lambda_alpha;
real lambda_beta;
matrix[N, N] cov_phylo;
}
generated quantities {
// Data
vector[N] y;
matrix[N, N] cov;
vector[N] mu;
real a = normal_rng(a_mu, a_sig);
real b = normal_rng(b_mu, b_sig);
real lambda = beta_rng(lambda_alpha, lambda_beta);
for (i in 1:N) {
for (j in 1:N) {
if (! i == j)
cov[i, j] = cov_phylo[i,j]*lambda;
else
cov[i, j] = cov_phylo[i,j];
}
}
for (i in 1:N) {
mu[i] = f(x[i], a, b);
}
y = multi_normal_rng(mu, cov);
}