brms_model

# Simulate data
md = tibble::tibble(
  group = factor(sample(1:10, 1000, replace = TRUE)),
  f_var = factor(sample(1:3, 1000, replace = TRUE)),
  n_var = rnorm(1000, mean = 0, sd = 1),
  resp = rnorm(1000, mean = 10, sd = 3))

# Run model
mod = brms_model(Response = "resp", 
                 FixedEffect = c("f_var","n_var"), 
                 RandomEffect = "group", 
                 Family = "gaussian", 
                 Data = md)

brms_cov_model

 
# Simulate the data directly into a tibble
md = tibble::tibble(
  ID = factor(sample(1:10, 1000, replace = TRUE)),
  var1 = rnorm(1000, mean = 0, sd = 1),
  var2 = rnorm(1000, mean = 5, sd = 2),
  resp = rnorm(1000, mean = 10, sd = 3))



## 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 = "resp", 
           FixedEffect = c("var1", "var2"), 
           ID = "ID", 
           Matrix = cov_matrix,
           Family = "gaussian", 
           Data = md, 
           Seed = 0405)

var_decomp


# Simulate data
md = tibble::tibble(
  group = factor(sample(1:10, 1000, replace = TRUE)),
  f_var = factor(sample(1:3, 1000, replace = TRUE)),
  n_var = rnorm(1000, mean = 0, sd = 1),
  resp = rnorm(1000, mean = 10, sd = 3))

# Run model
mod = brms_model(Response = "resp", 
                 FixedEffect = c("f_var","n_var"), 
                 RandomEffect = "group", 
                 Family = "gaussian", 
                 Data = md)


# Variance decomposition
var_decomp(mod)

model_summary


# Simulate data
md = tibble::tibble(
  group = factor(sample(1:10, 1000, replace = TRUE)),
  f_var = factor(sample(1:3, 1000, replace = TRUE)),
  n_var = rnorm(1000, mean = 0, sd = 1),
  resp = rnorm(1000, mean = 10, sd = 3))

# Run model
mod = brms_model(Response = "resp", 
                 FixedEffect = c("f_var","n_var"), 
                 RandomEffect = "group", 
                 Family = "gaussian", 
                 Data = md)

# Model summary

model_summary(mod)

compare_slopes


# Simulate data
md = tibble::tibble(
  group = factor(sample(1:10, 1000, replace = TRUE)),
  f_var = factor(sample(1:3, 1000, replace = TRUE)),
  n_var = rnorm(1000, mean = 0, sd = 1),
  resp = rnorm(1000, mean = 10, sd = 3))

# Run model without random slope
mod = brms_model(Response = "resp", 
                 FixedEffect = c("f_var","n_var"), 
                 RandomEffect = "group", 
                 Family = "gaussian", 
                 Data = md)

# Run model with random slope
mod_RS = brms_model(Response = "resp", 
                 FixedEffect = c("f_var","n_var"), 
                 RandomSlope = c("n_var", "group"),
                 Family = "gaussian", 
                 Data = md)

compare_slopes(mod, mod_RS, Slope = "n_var")

model_fit


# Simulate data
md = tibble::tibble(
  group = factor(sample(1:10, 1000, replace = TRUE)),
  f_var = factor(sample(1:3, 1000, replace = TRUE)),
  n_var = rnorm(1000, mean = 0, sd = 1),
  resp = rnorm(1000, mean = 10, sd = 3))

# Run model
mod = brms_model(Response = "resp", 
                 FixedEffect = c("f_var","n_var"), 
                 RandomEffect = "group", 
                 Family = "gaussian", 
                 Data = md)


# Check model fit 
model_fit(mod, Prior = TRUE)

plot_intervals


# Simulate data
md = tibble::tibble(
  group = factor(sample(1:10, 1000, replace = TRUE)),
  f_var = factor(sample(1:3, 1000, replace = TRUE)),
  n_var = rnorm(1000, mean = 0, sd = 1),
  resp = rnorm(1000, mean = 10, sd = 3))

# Run model
mod = brms_model(Response = "resp", 
                 FixedEffect = c("f_var","n_var"), 
                 RandomEffect = "group", 
                 Family = "gaussian", 
                 Data = md)

# Plot fixed effects
plot_intervals(mod)

plot_R2


# Simulate data
md = tibble::tibble(
  group = factor(sample(1:10, 1000, replace = TRUE)),
  f_var = factor(sample(1:3, 1000, replace = TRUE)),
  n_var = rnorm(1000, mean = 0, sd = 1),
  resp = rnorm(1000, mean = 10, sd = 3))

# Run model
mod = brms_model(Response = "resp", 
                 FixedEffect = c("f_var","n_var"), 
                 RandomEffect = "group", 
                 Family = "gaussian", 
                 Data = md)

# Plot R2
plot_R2(mod, PlotType = "pizza", Label = "box")