brms_model

#' \dontrun{

md = dplyr::starwars

# Centering variables
md = md %>% 
  dplyr::select(mass, sex, height, species) %>% 
  dplyr::mutate(mass = log(mass),
         sex = dplyr::recode(sex, "male" = 1, 
                      "female" = -1, 
                      "hermaphroditic" = 0,
                      "none" = as.numeric(NA)))
  
  
mod = brms_model(Chainset = 2, 
           Response = "mass", 
           FixedEffect = c("sex","height"),
           RandomSlope = c("height", "species"),
           Family = "gaussian", 
           Data = md, 
           Seed = 0405)

#' }

brms_cov_model

#' \dontrun{

 library(tidyverse)
 
# Create a group (ID) variable
md = tibble::tibble(
  ID = as.factor(rep(1:10, each = 100))) %>% 

# Create a variables 
  dplyr::mutate(height = rnorm(1000, mean = 170, sd = 10),
         mass = 5 + 0.5 * height + rnorm(1000, mean = 0, sd = 5)) %>% 
  dplyr::mutate(height = height - mean(height))

# Create a covariance matrix (e.g., relatedness matrix)
cov_matrix = matrix(rnorm(10 * 10), 10, 10)
cov_matrix = cov_matrix %*% t(cov_matrix)  # Make it positive semi-definite
rownames(cov_matrix) = colnames(cov_matrix) = 1:10

# Ensure the covariance matrix is symmetric
cov_matrix = (cov_matrix + t(cov_matrix)) / 2


  
mod = brms_cov_model(Chainset = 3, 
           Response = "mass", 
           FixedEffect = "height", 
           ID = "ID", 
           Matrix = cov_matrix,
           Family = "gaussian", 
           Data = md, 
           Seed = 0405)

#' }

model_examples

mod


#' \dontrun{

# A model with fixed effects only
data("mod", package = "VarDecomp")

#' }

mod_re


#' \dontrun{

# A model with fixed and random effects
data("mod_re", package = "VarDecomp")


#' }

mod_rs


#' \dontrun{

# A model with random slopes
data("mod_rs", package = "VarDecomp")

#' }

mod_cov


#' \dontrun{

# A model with a covariance matrix
data("mod_cov", package = "VarDecomp")

#' }

var_decomp


#' \dontrun{

md = dplyr::starwars

# Centering variables
md = md %>% 
  dplyr::select(mass, sex, species) %>% 
  dplyr::mutate(mass = log(mass),
         sex = dplyr::recode(sex, "male" = 1, 
                      "female" = -1, 
                      "hermaphroditic" = 0,
                      "none" = as.numeric(NA)))
  
  
mod = brms_model(Chainset = 2,
                 Response = "mass", 
                 FixedEffect = "sex", 
                 RandomEffect = "species",
                 Family = "gaussian", 
                 Data = md)

var_decomp(mod)

#' }

model_summary

#' \dontrun{

md = dplyr::starwars

# Centering variables
md = md %>% 
  dplyr::select(mass, sex, species) %>% 
  dplyr::mutate(mass = log(mass),
         sex = dplyr::recode(sex, "male" = 1, 
                      "female" = -1, 
                      "hermaphroditic" = 0,
                      "none" = as.numeric(NA)))
  
  
mod = brms_model(Chainset = 2,
                 Response = "mass", 
                 FixedEffect = "sex", 
                 RandomEffect = "species",
                 Family = "gaussian", 
                 Data = md)

model_summary(mod)

#' }

compare_slopes

#' \dontrun{

md = dplyr::starwars

# Centering variables
md = md %>% 
  dplyr::select(mass, sex, height, species) %>% 
  dplyr::mutate(mass = log(mass),
         sex = dplyr::recode(sex, "male" = 1, 
                      "female" = -1, 
                      "hermaphroditic" = 0,
                      "none" = as.numeric(NA)))
  
  
mod1 = brms_model(Chainset = 2,
                   Response = "mass", 
                   FixedEffect = "sex", 
                   Family = "gaussian", 
                   Data = md)

mod2 = brms_model(Chainset = 2,
                   Response = "mass", 
                   FixedEffect = "sex",
                   RandomSlope = c("sex","species"),
                   Family = "gaussian", 
                   Data = md)

compare_slopes(mod1, mod2, Slope = "sex")

#' }

model_fit

#' \dontrun{

md = dplyr::starwars

# Centering variables
md = md %>% 
  dplyr::select(mass, sex, height, species) %>% 
  dplyr::mutate(mass = log(mass),
         sex = dplyr::recode(sex, "male" = 1, 
                      "female" = -1, 
                      "hermaphroditic" = 0,
                      "none" = as.numeric(NA)))


# Without random effects

mod = brms_model(Chainset = 2,
                 Response = "mass", 
                 FixedEffect = c("sex","height"), 
                 Family = "gaussian", 
                 Data = md,
                 PriorSamples = TRUE)

model_fit(mod, Group = "sex", Prior = TRUE)

#' }

plot_intervals

#' \dontrun{
md = dplyr::starwars

# Centering variables
md = md %>% 
  dplyr::select(mass, sex, species) %>% 
  dplyr::mutate(mass = log(mass),
         sex = dplyr::recode(sex, "male" = 1, 
                      "female" = -1, 
                      "hermaphroditic" = 0,
                      "none" = as.numeric(NA)))
  
  
mod = brms_model(Chainset = 2,
                 Response = "mass", 
                 FixedEffect = "sex", 
                 RandomEffect = "species",
                 Family = "gaussian", 
                 Data = md)

plot_intervals(mod)

#' }

plot_R2

#' \dontrun{
md = dplyr::starwars

# Centering variables
md = md %>% 
  dplyr::select(mass, sex, species) %>% 
  dplyr::mutate(mass = log(mass),
         sex = dplyr::recode(sex, "male" = 1, 
                      "female" = -1, 
                      "hermaphroditic" = 0,
                      "none" = as.numeric(NA)))
  
  
mod = brms_model(Chainset = 2,
                 Response = "mass", 
                 FixedEffect = "sex", 
                 RandomEffect = "species",
                 Family = "gaussian", 
                 Data = md)

PosteriorSamples = var_decomp(mod)
plot_R2(PosteriorSamples)

#' }