https://github.com/julianmwagner/spiracle_scaling
Raw File
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
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);
}
back to top