Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(lme4)
- library(brms)
- sim_dat <- function(n_subject, f_int, d_t, u_0, e_var){
- # n_subject: number of subjects
- # int: fixed intercept
- # d_t: delta total variance (MLM "d")
- # u_0: "random" intercept variance
- # (betwween-subject variance)
- # e_var: error variance
- id <- rep(1:n_subject, each = 2)
- time <- rep(c("t_0", "t_1"), n_subject)
- id_var <- rnorm(n_subject, 0, sqrt(u_0))
- error_var <- rnorm(n_subject * 2, 0, sqrt(e_var))
- b <- d_t * sqrt(u_0 + e_var)
- y <- f_int + b * (time == "t_1") + id_var[id] + error_var
- data.frame(id, time, y)
- }
- dat <- sim_dat(n_subject = 100, f_int = 5, d_t = .5, u_0 = 3, e_var = 10)
- m_1 <- lmer(y ~ time + (1|id), data = dat)
- # check "d" value
- coefficients(m_1)$id[1,2] /
- sqrt(data.frame(v,comp=c("Variance"))[[4]][1] +
- data.frame(v,comp=c("Variance"))[[4]][2])
- prior <- c(set_prior("uniform(-8, 8)",lb = -8, ub = 8, nlpar = "alpha"))
- b_1 <- brm(bf(y ~ time + (1|id), sigma ~ time + (1|id), alpha ~ time + (1|id)),
- family = skew_normal, data = dat, chains = 2, prior = prior,
- control = list(adapt_delta = .99), inits = 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement