В своем коде Stan я хочу добавить ICAR-термин (phi) в следующую ковариатическую модель:
// covariate models with logit link
vector[total_surveys] logit_p = (X_p * beta_p) + phi[ii_sampled];
Однако dim(X_p)
= (1900, 3) и dim(beta_p)
= 3
Таким образом dim(X_p * beta_p
= 1900
В то время как dim(phi[ii_sampled])
равно 95
Поэтому я бы хотел do:
phi_p <- rep(phi[ii_sampled], each = 20)
По сути, моя проблема сводится к выполнению (пример с разными размерами):
phi <- c(1.2, -0.5, 2.1, -0.7)
phi_p <- rep(phi, each = 3)
phi_p
>(1.2, 1.2, 1.2, -0.5, -0.5, -0.5, 2.1, 2.1, 2.1, -0.7, -0.7, -0.7)
в Stan
К сожалению, rep()
функция недоступна в Стэн. Вместо этого вы должны будете сделать al oop.
Как бы выглядел такой al oop?