# Setup model matrix
design <- model.matrix(~ 0 + factor(rep(1:2, each = 3)))
colnames(design) <- paste0("ng", c(50, 100))
# Normalize data
yeast_norm <- yeast %>%
psrn("identifier") %>%
# Get mean-variance trends
calculate_mean_sd_trends(design)
# Fit gamma regression (could also have been a lgmr model)
gam_reg <- fit_gamma_regression(yeast_norm, sd ~ mean)
# Estimate priors
gam_reg %>%
estimate_gamma_hyperparameters(yeast_norm)
# Can also explicitly estimate the beta parameters
# Note this is order sensitive.
estimate_beta(gam_reg, yeast_norm$mean, 1/summary(gam_reg)$dispersion)
Run the code above in your browser using DataLab