4  Caspase (ML + PCL)

Data

Description

Variable Description
Stage

Developmental stage

Mouse

Mouse unique identifier

Condition

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

Z

Bregma coordinates (Ant, Med, Post)

A_ML_PCL

Area of ML and PC (μm²)

Dens_ML_PCL

Density of cleaved caspase 3^(+) cells in the ML and PC areas (Cells/μm²)

Prop_C_ML_PCL

Proportion of cleaved caspase 3^(+) cells marking in the ML and PC areas

Variable Description
Stage

Developmental stage

Mouse

Mouse unique identifier

Condition

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

Z

Bregma coordinates (Ant, Med, Post)

A_ML_PCL

Area of ML and PC (μm²)

Dens_ML_PCL

Density of cleaved caspase 3^(+) cells in the ML and PC areas (Cells/μm²)

Prop_C_ML_PCL

Proportion of cleaved caspase 3^(+) cells marking in the ML and PC areas

Correlations

4.1 Area of the ML and PC

4.1.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 2.012 0.375 0.14 0.186 0.722 1.577 2.529 0.342 −1.615 6
IH 1.778 1.191 1.418 0.67 2.225 0.443 2.891 −0.235 −4.333 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 2.012 0.375 0.14 0.186 0.722 1.577 2.529 0.342 −1.615 6
IH 1.778 1.191 1.418 0.67 2.225 0.443 2.891 −0.235 −4.333 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 2.972 1.937 3.752 0.652 2.169 1.434 7.226 1.793 3.401 8
IH 1.184 0.87 0.757 0.735 1.575 0.433 2.426 0.869 −1.497 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 2.972 1.937 3.752 0.652 2.169 1.434 7.226 1.793 3.401 8
IH 1.184 0.87 0.757 0.735 1.575 0.433 2.426 0.869 −1.497 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 1.202 0.978 0.957 0.814 2.271 0.245 2.633 0.726 −1.216 11
IH 0.843 0.675 0.456 0.801 0.976 0.13 2.149 1.195 0.817 8
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 1.202 0.978 0.957 0.814 2.271 0.245 2.633 0.726 −1.216 11
IH 0.843 0.675 0.456 0.801 0.976 0.13 2.149 1.195 0.817 8

4.1.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = A_ML_PCL ~ Condition * Z + (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
111.39 115.75 125.29 0.81 0.36 0.70 0.59 0.42
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
111.39 115.75 125.29 0.81 0.36 0.70 0.59 0.42

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:

No potential outliers detected by the model.

Model call:

```{r}
glmmTMB(formula = A_ML_PCL ~ Condition * Z + (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
130.47 134.83 144.37 0.53 0.21 0.40 0.54 0.65
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
130.47 134.83 144.37 0.53 0.21 0.40 0.54 0.65

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:

No potential outliers detected by the model.

4.1.3 Effects Analysis

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

4.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.304 0.266 (0.87, 1.95) 1.300 0.193
Condition1 1.375 0.281 (0.92, 2.05) 1.558 0.119
Z1 1.467 0.158 (1.19, 1.81) 3.559 < .001
Z2 1.234 0.123 (1.01, 1.50) 2.100 0.036 *
Condition1 * Z1 0.926 0.099 (0.75, 1.14) -0.713 0.476
Condition1 * Z2 1.159 0.116 (0.95, 1.41) 1.477 0.140
Model: A_ML_PCL ~ Condition * Z (42 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 1.304 0.266 (0.87, 1.95) 1.300 0.193
Condition1 1.375 0.281 (0.92, 2.05) 1.558 0.119
Z1 1.467 0.158 (1.19, 1.81) 3.559 < .001
Z2 1.234 0.123 (1.01, 1.50) 2.100 0.036 *
Condition1 * Z1 0.926 0.099 (0.75, 1.14) -0.713 0.476
Condition1 * Z2 1.159 0.116 (0.95, 1.41) 1.477 0.140
Model: A_ML_PCL ~ Condition * Z (42 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 2.43 1 0.120
Z 37.99 2 <0.001 ***
Condition:Z 2.21 2 0.330
term statistic df p.value
Condition 2.43 1 0.120
Z 37.99 2 <0.001 ***
Condition:Z 2.21 2 0.330

❖ Main effects (Likelihood Ratio Test):

LRT(mod, pred = "Condition")
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 95.31 104.00 -42.66 85.31
mod_full 8 96.47 110.38 -40.24 80.47 4.84 3 0.180
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 95.31 104.00 -42.66 85.31
mod_full 8 96.47 110.38 -40.24 80.47 4.84 3 0.180
Important

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

4.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.793 0.489 40 1.034 3.11
IH 0.949 0.289 40 0.513 1.755
Condition response SE df lower.CL upper.CL
N 1.793 0.489 40 1.034 3.11
IH 0.949 0.289 40 0.513 1.755
- Results are averaged over the levels of: Z
- 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.89 0.772 40 0.827 4.316 1 1.558 0.127
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.89 0.772 40 0.827 4.316 1 1.558 0.127
- Results are averaged over the levels of: Z
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:

Marginal Means:

emmeans(mod, specs = pred, type = "response")
Z response SE df lower.CL upper.CL
Ant 1.913 0.455 40 1.182 3.095
Med 1.609 0.368 40 1.013 2.555
Post 0.721 0.156 40 0.465 1.118
Z response SE df lower.CL upper.CL
Ant 1.913 0.455 40 1.182 3.095
Med 1.609 0.368 40 1.013 2.555
Post 0.721 0.156 40 0.465 1.118
- Results are averaged over the levels of: Condition
- 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
Ant / Med 1.189 0.219 40 0.82 1.724 1 0.94 0.353
Ant / Post 2.653 0.473 40 1.851 3.803 1 5.478 <0.001 ***
Med / Post 2.232 0.367 40 1.601 3.111 1 4.885 <0.001 ***
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
Ant / Med 1.189 0.219 40 0.82 1.724 1 0.94 0.353
Ant / Post 2.653 0.473 40 1.851 3.803 1 5.478 <0.001 ***
Med / Post 2.232 0.367 40 1.601 3.111 1 4.885 <0.001 ***
- Results are averaged over the levels of: Condition
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:

Marginal Means:

emmeans(mod, specs = emmeans_formula, type = "response")
Condition response SE df lower.CL upper.CL
N 2.436 0.765 40 1.291 4.596
IH 1.502 0.537 40 0.729 3.095
Condition response SE df lower.CL upper.CL
N 2.436 0.765 40 1.291 4.596
IH 1.502 0.537 40 0.729 3.095
Condition response SE df lower.CL upper.CL
N 2.564 0.766 40 1.402 4.691
IH 1.01 0.35 40 0.501 2.033
Condition response SE df lower.CL upper.CL
N 2.564 0.766 40 1.402 4.691
IH 1.01 0.35 40 0.501 2.033
Condition response SE df lower.CL upper.CL
N 0.923 0.266 40 0.515 1.653
IH 0.563 0.182 40 0.293 1.083
Condition response SE df lower.CL upper.CL
N 0.923 0.266 40 0.515 1.653
IH 0.563 0.182 40 0.293 1.083
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale

Contrasts:

emmeans(mod, specs = emmeans_formula, 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.622 0.772 40 0.62 4.243 1 1.016 0.316
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.622 0.772 40 0.62 4.243 1 1.016 0.316
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 2.54 1.162 40 1.008 6.403 1 2.038 0.048 *
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 2.54 1.162 40 1.008 6.403 1 2.038 0.048 *
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.638 0.709 40 0.683 3.93 1 1.14 0.261
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.638 0.709 40 0.683 3.93 1 1.14 0.261
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale
emmeans(mod, specs = emmeans_formula, type = "response") |>
  contrast(interaction = "pairwise", by = NULL, adjust = "none", infer = T)
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.639 0.235 40 0.303 1.344 1 −1.218 0.230
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.639 0.235 40 0.303 1.344 1 −1.218 0.230
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.99 0.349 40 0.485 2.02 1 −0.028 0.977
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.99 0.349 40 0.485 2.02 1 −0.028 0.977
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.55 0.507 40 0.801 3.003 1 1.341 0.188
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.55 0.507 40 0.801 3.003 1 1.341 0.188
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:


4.2 Density of Cleaved Caspase 3+ cells (ML and PC)

4.2.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 118.681 62.476 3,903.221 0.526 110.229 21.181 180.048 −0.921 −0.81 6
IH 381.893 312.177 97,454.741 0.817 593.951 70.506 792.046 0.773 −0.062 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 118.681 62.476 3,903.221 0.526 110.229 21.181 180.048 −0.921 −0.81 6
IH 381.893 312.177 97,454.741 0.817 593.951 70.506 792.046 0.773 −0.062 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 196.461 116.389 13,546.434 0.592 217.329 33.484 345.084 −0.206 −1.694 8
IH 180.429 188.765 35,632.324 1.046 272.29 20.613 505.988 1.836 3.76 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 196.461 116.389 13,546.434 0.592 217.329 33.484 345.084 −0.206 −1.694 8
IH 180.429 188.765 35,632.324 1.046 272.29 20.613 505.988 1.836 3.76 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 173.485 115.28 13,289.445 0.664 246.997 16.351 344.711 −0.075 −1.341 11
IH 246.381 234.398 54,942.373 0.951 361.759 10.49 697.585 1.119 0.684 8
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 173.485 115.28 13,289.445 0.664 246.997 16.351 344.711 −0.075 −1.341 11
IH 246.381 234.398 54,942.373 0.951 361.759 10.49 697.585 1.119 0.684 8

4.2.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = Dens_ML_PCL ~ Condition * Z + (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
545.01 549.37 558.91 0.45 0.07 0.41 110.71 0.73
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
545.01 549.37 558.91 0.45 0.07 0.41 110.71 0.73

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:

No potential outliers detected by the model.

Model call:

```{r}
glmmTMB(formula = Dens_ML_PCL ~ Condition * Z + (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
561.63 565.99 575.53 3.32e-05 9.40e-06 2.38e-05 100.24 119.21
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
561.63 565.99 575.53 3.32e-05 9.40e-06 2.38e-05 100.24 119.21

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:

No potential outliers detected by the model.

4.2.3 Effects Analysis

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

4.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) 190.524 41.772 (123.97, 292.80) 23.944 < .001
Condition1 0.812 0.178 (0.53, 1.25) -0.951 0.341
Z1 1.122 0.217 (0.77, 1.64) 0.593 0.553
Z2 1.006 0.187 (0.70, 1.45) 0.035 0.972
Condition1 * Z1 0.754 0.147 (0.51, 1.10) -1.453 0.146
Condition1 * Z2 1.221 0.227 (0.85, 1.76) 1.073 0.283
Model: Dens_ML_PCL ~ Condition * Z (42 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 190.524 41.772 (123.97, 292.80) 23.944 < .001
Condition1 0.812 0.178 (0.53, 1.25) -0.951 0.341
Z1 1.122 0.217 (0.77, 1.64) 0.593 0.553
Z2 1.006 0.187 (0.70, 1.45) 0.035 0.972
Condition1 * Z1 0.754 0.147 (0.51, 1.10) -1.453 0.146
Condition1 * Z2 1.221 0.227 (0.85, 1.76) 1.073 0.283
Model: Dens_ML_PCL ~ Condition * Z (42 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 0.91 1 0.340
Z 0.55 2 0.760
Condition:Z 2.18 2 0.340
term statistic df p.value
Condition 0.91 1 0.340
Z 0.55 2 0.760
Condition:Z 2.18 2 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 5 532.33 541.02 -261.17 522.33
mod_full 8 534.98 548.88 -259.49 518.98 3.35 3 0.340
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 532.33 541.02 -261.17 522.33
mod_full 8 534.98 548.88 -259.49 518.98 3.35 3 0.340
Important

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

4.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 154.683 44.769 40 86.18 277.64
IH 234.669 77.233 40 120.664 456.388
Condition response SE df lower.CL upper.CL
N 154.683 44.769 40 86.18 277.64
IH 234.669 77.233 40 120.664 456.388
- Results are averaged over the levels of: Z
- 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.659 0.289 40 0.272 1.598 1 −0.951 0.347
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.659 0.289 40 0.272 1.598 1 −0.951 0.347
- Results are averaged over the levels of: Z
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:

Marginal Means:

emmeans(mod, specs = pred, type = "response")
Z response SE df lower.CL upper.CL
Ant 213.717 66.273 40 114.197 399.966
Med 191.754 56.022 40 106.245 346.085
Post 168.758 43.432 40 100.315 283.899
Z response SE df lower.CL upper.CL
Ant 213.717 66.273 40 114.197 399.966
Med 191.754 56.022 40 106.245 346.085
Post 168.758 43.432 40 100.315 283.899
- Results are averaged over the levels of: Condition
- 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
Ant / Med 1.115 0.374 40 0.566 2.196 1 0.323 0.748
Ant / Post 1.266 0.408 40 0.66 2.428 1 0.733 0.468
Med / Post 1.136 0.349 40 0.611 2.114 1 0.416 0.680
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
Ant / Med 1.115 0.374 40 0.566 2.196 1 0.323 0.748
Ant / Post 1.266 0.408 40 0.66 2.428 1 0.733 0.468
Med / Post 1.136 0.349 40 0.611 2.114 1 0.416 0.680
- Results are averaged over the levels of: Condition
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:

Marginal Means:

emmeans(mod, specs = emmeans_formula, type = "response")
Condition response SE df lower.CL upper.CL
N 130.791 53.245 40 57.445 297.786
IH 349.221 162.975 40 135.98 896.866
Condition response SE df lower.CL upper.CL
N 130.791 53.245 40 57.445 297.786
IH 349.221 162.975 40 135.98 896.866
Condition response SE df lower.CL upper.CL
N 190.078 67.775 40 92.461 390.753
IH 193.446 89.442 40 75.984 492.486
Condition response SE df lower.CL upper.CL
N 190.078 67.775 40 92.461 390.753
IH 193.446 89.442 40 75.984 492.486
Condition response SE df lower.CL upper.CL
N 148.874 50.458 40 75.046 295.335
IH 191.297 73.399 40 88.09 415.424
Condition response SE df lower.CL upper.CL
N 148.874 50.458 40 75.046 295.335
IH 191.297 73.399 40 88.09 415.424
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale

Contrasts:

emmeans(mod, specs = emmeans_formula, 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.375 0.232 40 0.107 1.307 1 −1.588 0.120
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.375 0.232 40 0.107 1.307 1 −1.588 0.120
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.983 0.573 40 0.302 3.195 1 −0.03 0.976
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.983 0.573 40 0.302 3.195 1 −0.03 0.976
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.778 0.396 40 0.278 2.178 1 −0.492 0.625
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.778 0.396 40 0.278 2.178 1 −0.492 0.625
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale
emmeans(mod, specs = emmeans_formula, type = "response") |>
  contrast(interaction = "pairwise", by = NULL, adjust = "none", infer = T)
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.381 0.259 40 0.096 1.508 1 −1.417 0.164
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.381 0.259 40 0.096 1.508 1 −1.417 0.164
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.481 0.303 40 0.135 1.721 1 −1.16 0.253
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.481 0.303 40 0.135 1.721 1 −1.16 0.253
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.263 0.756 40 0.376 4.236 1 0.389 0.699
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.263 0.756 40 0.376 4.236 1 0.389 0.699
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:


4.3 Proportion of Cleaved Caspase 3+ marking (ML and PC)

4.3.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.006 0.004 0 0.583 0.007 0.001 0.011 −0.524 −1.109 6
IH 0.021 0.016 0 0.765 0.031 0.004 0.04 0.259 −1.662 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.006 0.004 0 0.583 0.007 0.001 0.011 −0.524 −1.109 6
IH 0.021 0.016 0 0.765 0.031 0.004 0.04 0.259 −1.662 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.011 0.008 0 0.698 0.014 0.001 0.023 0.195 −1.202 8
IH 0.01 0.012 0 1.194 0.018 0.001 0.032 1.935 3.946 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.011 0.008 0 0.698 0.014 0.001 0.023 0.195 −1.202 8
IH 0.01 0.012 0 1.194 0.018 0.001 0.032 1.935 3.946 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.009 0.007 0 0.708 0.012 0.001 0.02 0.064 −1.157 11
IH 0.013 0.014 0 1.014 0.02 0 0.04 1.263 1.185 8
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.009 0.007 0 0.708 0.012 0.001 0.02 0.064 −1.157 11
IH 0.013 0.014 0 1.014 0.02 0 0.04 1.263 1.185 8

4.3.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = Prop_C_ML_PCL ~ Condition * Z + (1 | Mouse), 
    data = data, family = beta_family("logit"), REML = TRUE, 
    ziformula = ~0, dispformula = ~1)
```

Performance:

performance::performance(mod)
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
-280.20 -275.84 -266.30 0.61 0.14 0.55 5.81e-03 223.06
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
-280.20 -275.84 -266.30 0.61 0.14 0.55 5.81e-03 223.06

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:

No potential outliers detected by the model.

Model call:

```{r}
glmmTMB(formula = Prop_C_ML_PCL ~ Condition * Z + (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
-258.73 -254.37 -244.83 1.00 0.27 1.00 5.67e-03 6.75e-03
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
-258.73 -254.37 -244.83 1.00 0.27 1.00 5.67e-03 6.75e-03

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:

No potential outliers detected by the model.

4.3.3 Effects Analysis

```{r}
glmmTMB(formula = Prop_C_ML_PCL ~ Condition * Z + (1 | Mouse), 
    data = data, family = beta_family("logit"), REML = TRUE, 
    ziformula = ~0, dispformula = ~1)
```

4.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) 0.011 0.003 (7.35e-03, 0.02) -20.118 < .001
Condition1 0.775 0.166 (0.51, 1.18) -1.188 0.235
Z1 0.985 0.148 (0.73, 1.32) -0.102 0.918
Z2 1.047 0.150 (0.79, 1.39) 0.322 0.747
Condition1 * Z1 0.673 0.102 (0.50, 0.90) -2.622 0.009 **
Condition1 * Z2 1.334 0.190 (1.01, 1.76) 2.017 0.044 *
Model: Prop_C_ML_PCL ~ Condition * Z (42 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 0.011 0.003 (7.35e-03, 0.02) -20.118 < .001
Condition1 0.775 0.166 (0.51, 1.18) -1.188 0.235
Z1 0.985 0.148 (0.73, 1.32) -0.102 0.918
Z2 1.047 0.150 (0.79, 1.39) 0.322 0.747
Condition1 * Z1 0.673 0.102 (0.50, 0.90) -2.622 0.009 **
Condition1 * Z2 1.334 0.190 (1.01, 1.76) 2.017 0.044 *
Model: Prop_C_ML_PCL ~ Condition * Z (42 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 1.41 1 0.230
Z 0.12 2 0.940
Condition:Z 7.14 2 0.030 *
term statistic df p.value
Condition 1.41 1 0.230
Z 0.12 2 0.940
Condition:Z 7.14 2 0.030 *

❖ Main effects (Likelihood Ratio Test):

LRT(mod, pred = "Condition")
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 -290.56 -281.87 150.28 -300.56
mod_full 8 -292.22 -278.32 154.11 -308.22 7.67 3 0.050 *
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 -290.56 -281.87 150.28 -300.56
mod_full 8 -292.22 -278.32 154.11 -308.22 7.67 3 0.050 *
Important

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

4.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 0.009 0.003 40 0.005 0.016
IH 0.014 0.005 40 0.008 0.027
Condition response SE df lower.CL upper.CL
N 0.009 0.003 40 0.005 0.016
IH 0.014 0.005 40 0.008 0.027
- Results are averaged over the levels of: Z
- Confidence level used: 0.95
- Intervals are back-transformed from the logit scale

Contrasts:

emmeans(mod, specs = pred, type = "response") |> 
  contrast(method = "pairwise", adjust = "none", infer = TRUE)
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.6 0.258 40 0.252 1.43 1 −1.188 0.242
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.6 0.258 40 0.252 1.43 1 −1.188 0.242
- Results are averaged over the levels of: Z
- Confidence level used: 0.95
- Intervals are back-transformed from the log odds ratio scale
- Tests are performed on the log odds ratio scale

Boxplot:

Marginal Means:

emmeans(mod, specs = pred, type = "response")
Z response SE df lower.CL upper.CL
Ant 0.011 0.003 40 0.006 0.019
Med 0.012 0.003 40 0.007 0.02
Post 0.011 0.003 40 0.007 0.018
Z response SE df lower.CL upper.CL
Ant 0.011 0.003 40 0.006 0.019
Med 0.012 0.003 40 0.007 0.02
Post 0.011 0.003 40 0.007 0.018
- Results are averaged over the levels of: Condition
- Confidence level used: 0.95
- Intervals are back-transformed from the logit scale

Contrasts:

emmeans(mod, specs = pred, type = "response") |> 
  contrast(method = "pairwise", adjust = "none", infer = TRUE)
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
Ant / Med 0.94 0.248 40 0.552 1.601 1 −0.233 0.817
Ant / Post 1.015 0.244 40 0.625 1.65 1 0.064 0.950
Med / Post 1.08 0.245 40 0.683 1.708 1 0.338 0.737
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
Ant / Med 0.94 0.248 40 0.552 1.601 1 −0.233 0.817
Ant / Post 1.015 0.244 40 0.625 1.65 1 0.064 0.950
Med / Post 1.08 0.245 40 0.683 1.708 1 0.338 0.737
- Results are averaged over the levels of: Condition
- Confidence level used: 0.95
- Intervals are back-transformed from the log odds ratio scale
- Tests are performed on the log odds ratio scale

Boxplot:

Marginal Means:

emmeans(mod, specs = emmeans_formula, type = "response")
Condition response SE df lower.CL upper.CL
N 0.006 0.002 40 0.003 0.013
IH 0.021 0.008 40 0.01 0.044
Condition response SE df lower.CL upper.CL
N 0.006 0.002 40 0.003 0.013
IH 0.021 0.008 40 0.01 0.044
Condition response SE df lower.CL upper.CL
N 0.012 0.004 40 0.006 0.024
IH 0.011 0.005 40 0.005 0.025
Condition response SE df lower.CL upper.CL
N 0.012 0.004 40 0.006 0.024
IH 0.011 0.005 40 0.005 0.025
Condition response SE df lower.CL upper.CL
N 0.009 0.003 40 0.005 0.018
IH 0.013 0.004 40 0.006 0.025
Condition response SE df lower.CL upper.CL
N 0.009 0.003 40 0.005 0.018
IH 0.013 0.004 40 0.006 0.025
- Confidence level used: 0.95
- Intervals are back-transformed from the logit scale

Contrasts:

emmeans(mod, specs = emmeans_formula, type = "response") |> 
  contrast(method = "pairwise", adjust = "none", infer = TRUE)
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.272 0.15 40 0.089 0.829 1 −2.361 0.023 *
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.272 0.15 40 0.089 0.829 1 −2.361 0.023 *
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.068 0.553 40 0.375 3.04 1 0.127 0.900
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.068 0.553 40 0.375 3.04 1 0.127 0.900
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.744 0.35 40 0.288 1.923 1 −0.629 0.533
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.744 0.35 40 0.288 1.923 1 −0.629 0.533
- Confidence level used: 0.95
- Intervals are back-transformed from the log odds ratio scale
- Tests are performed on the log odds ratio scale
emmeans(mod, specs = emmeans_formula, type = "response") |>
  contrast(interaction = "pairwise", by = NULL, adjust = "none", infer = T)
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.255 0.134 40 0.088 0.74 1 −2.591 0.013 *
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.255 0.134 40 0.088 0.74 1 −2.591 0.013 *
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.366 0.177 40 0.138 0.972 1 −2.081 0.044 *
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.366 0.177 40 0.138 0.972 1 −2.081 0.044 *
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.434 0.65 40 0.574 3.585 1 0.796 0.431
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.434 0.65 40 0.574 3.585 1 0.796 0.431
- Confidence level used: 0.95
- Intervals are back-transformed from the log odds ratio scale
- Tests are performed on the log odds ratio scale

Boxplot: