Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup--------------------------------------------------------------------
library(glmbayes)
## ----Plant_Data---------------------------------------------------------------
## Annette Dobson (1990) "An Introduction to Generalized Linear Models".
## Page 9: Plant Weight Data.
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2, 10, 20, labels = c("Ctl","Trt"))
weight <- c(ctl, trt)
## ----Plant_w_intercept--------------------------------------------------------
lm.D9 <- lm(weight ~ group)
## ----Plant_Prior--------------------------------------------------------------
ps=Prior_Setup(weight ~ group,family=gaussian())
## ----Plant_Prior_Spec---------------------------------------------------------
ps
## ----Plant_lmb_calls----------------------------------------------------------
lmb.D9=lmb(weight ~ group,dNormal(mu=ps$mu,Sigma =ps$Sigma,dispersion=ps$dispersion))
##lmb.D9_v2=lmb(weight ~ group,dNormal_Gamma(mu=ps$mu,Sigma_0=ps$Sigma_0,shape=ps$shape,rate=ps$rate))
## lmb.D9_v3=lmb(weight ~ group,dIndependent_Normal_Gamma(mu=ps$mu,Sigma = ps$Sigma,shape=ps$shape_ING,rate=ps$rate))
summary(lmb.D9)
## ----Plant_summary------------------------------------------------------------
summary(lm.D9)
## ----Plant_lmb_summary--------------------------------------------------------
summary(lmb.D9)
## ----Plant_lmb_coefficients1--------------------------------------------------
sumlmb<-summary(lmb.D9)
sumlmb$coefficients1
## ----Plant_lmb_coefficients---------------------------------------------------
sumlmb<-summary(lmb.D9)
sumlmb$coefficients
## ----Plant_lmb_Percentiles----------------------------------------------------
sumlmb<-summary(lmb.D9)
sumlmb$Percentiles
## ----br03-setup, eval = requireNamespace("bayesrules", quietly = TRUE)--------
library(bayesrules)
bikes_br <- within(bayesrules::bikes, {
temp_feel_c <- temp_feel - mean(temp_feel)
})
ps_bikes <- Prior_Setup(rides ~ temp_feel_c, family = gaussian(), data = bikes_br)
coef_br03 <- rownames(ps_bikes$mu) ## Prior_Setup: names on rows, not colnames(mu)
mu_br <- matrix(c(5000, 100), nrow = 1)
colnames(mu_br) <- coef_br03
Sigma_br <- diag(c(1000^2, 40^2))
dimnames(Sigma_br) <- list(coef_br03, coef_br03)
## Posterior summaries reported in Bayes Rules! Ch. 9 (rides ~ temp_feel; stan_glm output)
book_br03 <- data.frame(
parameter = c("(Intercept)", "temp_feel_c"),
book_mean = c(-2194, 82.2),
book_sd = c(362, 5.15),
note = c(
"Book fits rides ~ temp_feel (uncentered); intercept not comparable to centered fit",
"Slope matches book temp_feel coefficient (Ch. 9 tidy table)"
),
check.names = FALSE
)
## ----br03-lmb, eval = requireNamespace("bayesrules", quietly = TRUE)----------
set.seed(2026)
lmb_bikes <- lmb(
rides ~ temp_feel_c,
data = bikes_br,
pfamily = dNormal(mu = mu_br, Sigma = Sigma_br, dispersion = ps_bikes$dispersion),
n = 2000
)
print(lmb_bikes)
## ----br03-compare, eval = requireNamespace("bayesrules", quietly = TRUE)------
br03_compare <- data.frame(
parameter = book_br03$parameter,
`Book mean` = book_br03$book_mean,
`Book SD` = book_br03$book_sd,
`lmb Post.Mean` = as.numeric(lmb_bikes$coef.means[book_br03$parameter]),
`lmb Post.Sd` = sapply(book_br03$parameter, function(p)
sd(lmb_bikes$coefficients[, p, drop = TRUE])),
check.names = FALSE
)
knitr::kable(br03_compare, digits = 2,
caption = "Bayes Rules! Ch. 9 posterior vs. lmb() (informative priors; fixed sigma)")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.