23  Myelin Binding Protein

Data

Description

Variable Description
Mouse

Mouse unique identifier

Condition

Hypoxia condition: Normoxia (N) vs Intermittent Hypoxia (IH)

Length_Fil

Length of myelinated fibers (10^(-4) μm)

Area_Fil

Area of myelinated fibers (10^(-4) μm^(2))

Vol_Fil

Volume of myelinated fibers (10^(-4) μm^(3))

Variable Description
Mouse

Mouse unique identifier

Condition

Hypoxia condition: Normoxia (N) vs Intermittent Hypoxia (IH)

Length_Fil

Length of myelinated fibers (10^(-4) μm)

Area_Fil

Area of myelinated fibers (10^(-4) μm^(2))

Vol_Fil

Volume of myelinated fibers (10^(-4) μm^(3))

Correlations

23.1 Length of myelinated fibers

23.1.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 1.267 0.465 0.216 0.367 0.498 0.523 3.34 1.77 5.327 120
IH 1.387 0.554 0.306 0.399 0.861 0.521 3.149 0.675 0.347 120
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 1.267 0.465 0.216 0.367 0.498 0.523 3.34 1.77 5.327 120
IH 1.387 0.554 0.306 0.399 0.861 0.521 3.149 0.675 0.347 120

23.1.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = Length_Fil ~ Condition + (1 | Mouse), data = data, 
    family = Gamma("log"), REML = TRUE, ziformula = ~0, dispformula = ~1)
```

Performance:

performance::performance(mod)
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
331.95 332.12 345.87 0.03 0.01 0.01 0.51 0.37
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
331.95 332.12 345.87 0.03 0.01 0.01 0.51 0.37

Residuals:

performance::check_model(
  mod, panel = FALSE,
  check = c("pp_check", "qq", "reqq", "linearity", "homogeneity")
)

Predictions:

Simulating data from the model for pseudo “Posterior Predictive” plots.

Simulated data vs observed data:

Simulated statistics vs observed ones:

Potential outliers:

Model call:

```{r}
glmmTMB(formula = Length_Fil ~ Condition + (1 | Mouse), data = data, 
    family = gaussian("log"), REML = TRUE, ziformula = ~0, dispformula = ~1)
```

Performance:

performance::performance(mod)
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
374.57 374.74 388.50 0.01 7.63e-03 3.81e-03 0.51 0.51
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
374.57 374.74 388.50 0.01 7.63e-03 3.81e-03 0.51 0.51

Residuals:

performance::check_model(
  mod, panel = FALSE,
  check = c("pp_check", "qq", "reqq", "linearity", "homogeneity")
)

Predictions:

Simulating data from the model for pseudo “Posterior Predictive” plots.

Simulated data vs observed data:

Simulated statistics vs observed ones:

Potential outliers:

23.1.3 Effects Analysis

```{r}
glmmTMB(formula = Length_Fil ~ Condition + (1 | Mouse), data = data, 
    family = Gamma("log"), REML = TRUE, ziformula = ~0, dispformula = ~1)
```

23.1.3.1 Coefficients

❖ All effects (Wald):

parameters::parameters(
  mod, component = "conditional", effects = "fixed",
  exponentiate = should_exp(mod), p_adjust = "none", summary = TRUE, digits = 3
)
Parameter Coefficient SE 95% CI z p
(Intercept) 1.266 0.050 (1.17, 1.37) 5.919 < .001
Condition2 1.094 0.062 (0.98, 1.22) 1.599 0.110
Model: Length_Fil ~ Condition (240 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 1.266 0.050 (1.17, 1.37) 5.919 < .001
Condition2 1.094 0.062 (0.98, 1.22) 1.599 0.110
Model: Length_Fil ~ Condition (240 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 2.56 1 0.110
term statistic df p.value
Condition 2.56 1 0.110

❖ Main effects (Likelihood Ratio Test):

LRT(mod, pred = "Condition")
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 3 323.27 333.71 -158.64 317.27
mod_full 4 322.43 336.36 -157.22 314.43 2.84 1 0.090
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 3 323.27 333.71 -158.64 317.27
mod_full 4 322.43 336.36 -157.22 314.43 2.84 1 0.090
Important

Our LRT() method removes the predictor plus all its interactions

23.1.3.2 Marginal Effects

Marginal means & Contrasts for each predictor:

Marginal Means:

emmeans(mod, specs = pred, type = "response")
Condition response SE df lower.CL upper.CL
N 1.266 0.05 238 1.171 1.37
IH 1.386 0.055 238 1.281 1.499
Condition response SE df lower.CL upper.CL
N 1.266 0.05 238 1.171 1.37
IH 1.386 0.055 238 1.281 1.499
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale

Contrasts:

emmeans(mod, specs = pred, type = "response") |> 
  contrast(method = "pairwise", adjust = "none", infer = TRUE)
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.914 0.052 238 0.818 1.021 1 −1.599 0.111
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.914 0.052 238 0.818 1.021 1 −1.599 0.111
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:


23.2 Area of myelinated fibers

23.2.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 3.753 1.283 1.645 0.342 1.427 1.5 9.336 1.29 3.096 120
IH 3.565 1.457 2.124 0.409 1.909 1.109 8.737 0.914 1.553 120
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 3.753 1.283 1.645 0.342 1.427 1.5 9.336 1.29 3.096 120
IH 3.565 1.457 2.124 0.409 1.909 1.109 8.737 0.914 1.553 120

23.2.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = Area_Fil ~ Condition + (1 | Mouse), data = data, 
    family = Gamma("log"), REML = TRUE, ziformula = ~0, dispformula = ~1)
```

Performance:

performance::performance(mod)
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
816.50 816.67 830.42 0.02 5.60e-03 0.02 1.35 0.37
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
816.50 816.67 830.42 0.02 5.60e-03 0.02 1.35 0.37

Residuals:

performance::check_model(
  mod, panel = FALSE,
  check = c("pp_check", "qq", "reqq", "linearity", "homogeneity")
)

Predictions:

Simulating data from the model for pseudo “Posterior Predictive” plots.

Simulated data vs observed data:

Simulated statistics vs observed ones:

Potential outliers:

Model call:

```{r}
glmmTMB(formula = Area_Fil ~ Condition + (1 | Mouse), data = data, 
    family = gaussian("log"), REML = TRUE, ziformula = ~0, dispformula = ~1)
```

Performance:

performance::performance(mod)
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
848.63 848.80 862.55 1.34e-03 3.88e-04 9.51e-04 1.36 1.37
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
848.63 848.80 862.55 1.34e-03 3.88e-04 9.51e-04 1.36 1.37

Residuals:

performance::check_model(
  mod, panel = FALSE,
  check = c("pp_check", "qq", "reqq", "linearity", "homogeneity")
)

Predictions:

Simulating data from the model for pseudo “Posterior Predictive” plots.

Simulated data vs observed data:

Simulated statistics vs observed ones:

Potential outliers:

23.2.3 Effects Analysis

```{r}
glmmTMB(formula = Area_Fil ~ Condition + (1 | Mouse), data = data, 
    family = Gamma("log"), REML = TRUE, ziformula = ~0, dispformula = ~1)
```

23.2.3.1 Coefficients

❖ All effects (Wald):

parameters::parameters(
  mod, component = "conditional", effects = "fixed",
  exponentiate = should_exp(mod), p_adjust = "none", summary = TRUE, digits = 3
)
Parameter Coefficient SE 95% CI z p
(Intercept) 3.753 0.153 (3.46, 4.06) 32.474 < .001
Condition2 0.946 0.055 (0.84, 1.06) -0.954 0.340
Model: Area_Fil ~ Condition (240 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 3.753 0.153 (3.46, 4.06) 32.474 < .001
Condition2 0.946 0.055 (0.84, 1.06) -0.954 0.340
Model: Area_Fil ~ Condition (240 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 0.91 1 0.340
term statistic df p.value
Condition 0.91 1 0.340

❖ Main effects (Likelihood Ratio Test):

LRT(mod, pred = "Condition")
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 3 806.14 816.59 -400.07 800.14
mod_full 4 807.05 820.97 -399.52 799.05 1.09 1 0.300
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 3 806.14 816.59 -400.07 800.14
mod_full 4 807.05 820.97 -399.52 799.05 1.09 1 0.300
Important

Our LRT() method removes the predictor plus all its interactions

23.2.3.2 Marginal Effects

Marginal means & Contrasts for each predictor:

Marginal Means:

emmeans(mod, specs = pred, type = "response")
Condition response SE df lower.CL upper.CL
N 3.753 0.153 238 3.463 4.066
IH 3.551 0.146 238 3.275 3.851
Condition response SE df lower.CL upper.CL
N 3.753 0.153 238 3.463 4.066
IH 3.551 0.146 238 3.275 3.851
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale

Contrasts:

emmeans(mod, specs = pred, type = "response") |> 
  contrast(method = "pairwise", adjust = "none", infer = TRUE)
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.057 0.061 238 0.943 1.184 1 0.954 0.341
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.057 0.061 238 0.943 1.184 1 0.954 0.341
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:


23.3 Volume of myelinated fibers

23.3.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 1.053 0.394 0.155 0.374 0.508 0.387 3.004 1.403 4.206 120
IH 0.858 0.398 0.159 0.464 0.457 0.21 2.425 1.215 2.503 120
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 1.053 0.394 0.155 0.374 0.508 0.387 3.004 1.403 4.206 120
IH 0.858 0.398 0.159 0.464 0.457 0.21 2.425 1.215 2.503 120

23.3.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = Vol_Fil ~ Condition + (1 | Mouse), data = data, 
    family = Gamma("log"), REML = TRUE, ziformula = ~0, dispformula = ~1)
```

Performance:

performance::performance(mod)
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
208.52 208.69 222.44 0.12 0.07 0.06 0.39 0.40
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
208.52 208.69 222.44 0.12 0.07 0.06 0.39 0.40

Residuals:

performance::check_model(
  mod, panel = FALSE,
  check = c("pp_check", "qq", "reqq", "linearity", "homogeneity")
)

Predictions:

Simulating data from the model for pseudo “Posterior Predictive” plots.

Simulated data vs observed data:

Simulated statistics vs observed ones:

Potential outliers:

Model call:

```{r}
glmmTMB(formula = Vol_Fil ~ Condition + (1 | Mouse), data = data, 
    family = gaussian("log"), REML = TRUE, ziformula = ~0, dispformula = ~1)
```

Performance:

performance::performance(mod)
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
250.64 250.81 264.56 0.10 0.06 0.04 0.39 0.39
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
250.64 250.81 264.56 0.10 0.06 0.04 0.39 0.39

Residuals:

performance::check_model(
  mod, panel = FALSE,
  check = c("pp_check", "qq", "reqq", "linearity", "homogeneity")
)

Predictions:

Simulating data from the model for pseudo “Posterior Predictive” plots.

Simulated data vs observed data:

Simulated statistics vs observed ones:

Potential outliers:

23.3.3 Effects Analysis

```{r}
glmmTMB(formula = Vol_Fil ~ Condition + (1 | Mouse), data = data, 
    family = Gamma("log"), REML = TRUE, ziformula = ~0, dispformula = ~1)
```

23.3.3.1 Coefficients

❖ All effects (Wald):

parameters::parameters(
  mod, component = "conditional", effects = "fixed",
  exponentiate = should_exp(mod), p_adjust = "none", summary = TRUE, digits = 3
)
Parameter Coefficient SE 95% CI z p
(Intercept) 1.053 0.065 (0.93, 1.19) 0.837 0.402
Condition2 0.801 0.070 (0.67, 0.95) -2.529 0.011 *
Model: Vol_Fil ~ Condition (240 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 1.053 0.065 (0.93, 1.19) 0.837 0.402
Condition2 0.801 0.070 (0.67, 0.95) -2.529 0.011 *
Model: Vol_Fil ~ Condition (240 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 6.40 1 0.010 **
term statistic df p.value
Condition 6.40 1 0.010 **

❖ Main effects (Likelihood Ratio Test):

LRT(mod, pred = "Condition")
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 3 204.68 215.12 -99.34 198.68
mod_full 4 200.74 214.66 -96.37 192.74 5.94 1 0.010 **
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 3 204.68 215.12 -99.34 198.68
mod_full 4 200.74 214.66 -96.37 192.74 5.94 1 0.010 **
Important

Our LRT() method removes the predictor plus all its interactions

23.3.3.2 Marginal Effects

Marginal means & Contrasts for each predictor:

Marginal Means:

emmeans(mod, specs = pred, type = "response")
Condition response SE df lower.CL upper.CL
N 1.053 0.065 238 0.932 1.19
IH 0.843 0.053 238 0.746 0.953
Condition response SE df lower.CL upper.CL
N 1.053 0.065 238 0.932 1.19
IH 0.843 0.053 238 0.746 0.953
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale

Contrasts:

emmeans(mod, specs = pred, type = "response") |> 
  contrast(method = "pairwise", adjust = "none", infer = TRUE)
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.249 0.11 238 1.05 1.485 1 2.529 0.012 *
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.249 0.11 238 1.05 1.485 1 2.529 0.012 *
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot: