2  Caspase (Total)

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_Tot

Area of the whole slice (μm²)

Dens_Tot

Density of cleaved caspase 3^(+) cells (cells/μm²)

Prop_C_Tot

Proportion of cleaved caspase 3^(+) marking in the whole slice

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_Tot

Area of the whole slice (μm²)

Dens_Tot

Density of cleaved caspase 3^(+) cells (cells/μm²)

Prop_C_Tot

Proportion of cleaved caspase 3^(+) marking in the whole slice

Correlations

2.1 Area of the whole slice

2.1.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 8.499 1.801 3.242 0.212 3.07 5.773 10.249 −0.525 −1.218 6
IH 8.452 4.749 22.556 0.562 8.909 2.527 14.124 −0.158 1.357 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 8.499 1.801 3.242 0.212 3.07 5.773 10.249 −0.525 −1.218 6
IH 8.452 4.749 22.556 0.562 8.909 2.527 14.124 −0.158 1.357 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 7.995 2.116 4.478 0.265 3.985 5.682 11.045 0.486 −1.849 8
IH 4.659 3.057 9.345 0.656 5.366 1.709 9.458 1.086 1.021 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 7.995 2.116 4.478 0.265 3.985 5.682 11.045 0.486 −1.849 8
IH 4.659 3.057 9.345 0.656 5.366 1.709 9.458 1.086 1.021 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 3.784 2.89 8.352 0.764 5.759 0.9 8.813 0.856 −0.956 11
IH 3.178 2.355 5.547 0.741 4.145 0.913 7.234 0.909 −0.711 8
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 3.784 2.89 8.352 0.764 5.759 0.9 8.813 0.856 −0.956 11
IH 3.178 2.355 5.547 0.741 4.145 0.913 7.234 0.909 −0.711 8

2.1.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = A_Tot ~ 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
219.91 224.28 233.81 0.70 0.41 0.50 1.60 0.44
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
219.91 224.28 233.81 0.70 0.41 0.50 1.60 0.44

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 = A_Tot ~ 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
215.53 219.89 229.43 0.10 0.05 0.05 1.42 1.70
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
215.53 219.89 229.43 0.10 0.05 0.05 1.42 1.70

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.

2.1.3 Effects Analysis

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

2.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) 5.148 0.780 (3.83, 6.93) 10.816 < .001
Condition1 1.202 0.182 (0.89, 1.62) 1.213 0.225
Z1 1.659 0.187 (1.33, 2.07) 4.496 < .001
Z2 1.096 0.114 (0.89, 1.34) 0.885 0.376
Condition1 * Z1 0.966 0.109 (0.77, 1.20) -0.307 0.759
Condition1 * Z2 1.111 0.116 (0.91, 1.36) 1.010 0.312
Model: A_Tot ~ Condition * Z (42 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 5.148 0.780 (3.83, 6.93) 10.816 < .001
Condition1 1.202 0.182 (0.89, 1.62) 1.213 0.225
Z1 1.659 0.187 (1.33, 2.07) 4.496 < .001
Z2 1.096 0.114 (0.89, 1.34) 0.885 0.376
Condition1 * Z1 0.966 0.109 (0.77, 1.20) -0.307 0.759
Condition1 * Z2 1.111 0.116 (0.91, 1.36) 1.010 0.312
Model: A_Tot ~ Condition * Z (42 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 1.47 1 0.230
Z 38.84 2 <0.001 ***
Condition:Z 1.15 2 0.560
term statistic df p.value
Condition 1.47 1 0.230
Z 38.84 2 <0.001 ***
Condition:Z 1.15 2 0.560

❖ Main effects (Likelihood Ratio Test):

LRT(mod, pred = "Condition")
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 200.83 209.52 -95.42 190.83
mod_full 8 204.07 217.97 -94.03 188.07 2.76 3 0.430
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 200.83 209.52 -95.42 190.83
mod_full 8 204.07 217.97 -94.03 188.07 2.76 3 0.430
Important

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

2.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 6.187 1.237 40 4.13 9.268
IH 4.284 0.976 40 2.703 6.788
Condition response SE df lower.CL upper.CL
N 6.187 1.237 40 4.13 9.268
IH 4.284 0.976 40 2.703 6.788
- 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.444 0.438 40 0.783 2.665 1 1.213 0.232
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.444 0.438 40 0.783 2.665 1 1.213 0.232
- 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 8.54 1.687 40 5.729 12.73
Med 5.644 1.044 40 3.884 8.201
Post 2.83 0.482 40 2.007 3.992
Z response SE df lower.CL upper.CL
Ant 8.54 1.687 40 5.729 12.73
Med 5.644 1.044 40 3.884 8.201
Post 2.83 0.482 40 2.007 3.992
- 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.513 0.292 40 1.025 2.234 1 2.15 0.038 *
Ant / Post 3.017 0.558 40 2.076 4.385 1 5.97 <0.001 ***
Med / Post 1.994 0.337 40 1.417 2.806 1 4.083 <0.001 ***
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
Ant / Med 1.513 0.292 40 1.025 2.234 1 2.15 0.038 *
Ant / Post 3.017 0.558 40 2.076 4.385 1 5.97 <0.001 ***
Med / Post 1.994 0.337 40 1.417 2.806 1 4.083 <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 9.915 2.552 40 5.894 16.681
IH 7.356 2.211 40 4.007 13.504
Condition response SE df lower.CL upper.CL
N 9.915 2.552 40 5.894 16.681
IH 7.356 2.211 40 4.007 13.504
Condition response SE df lower.CL upper.CL
N 7.535 1.787 40 4.666 12.167
IH 4.228 1.2 40 2.382 7.502
Condition response SE df lower.CL upper.CL
N 7.535 1.787 40 4.666 12.167
IH 4.228 1.2 40 2.382 7.502
Condition response SE df lower.CL upper.CL
N 3.17 0.711 40 2.014 4.987
IH 2.528 0.643 40 1.512 4.226
Condition response SE df lower.CL upper.CL
N 3.17 0.711 40 2.014 4.987
IH 2.528 0.643 40 1.512 4.226
- 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.348 0.534 40 0.605 3.003 1 0.753 0.456
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.348 0.534 40 0.605 3.003 1 0.753 0.456
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.782 0.659 40 0.844 3.763 1 1.563 0.126
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.782 0.659 40 0.844 3.763 1 1.563 0.126
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.254 0.424 40 0.633 2.483 1 0.67 0.507
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.254 0.424 40 0.633 2.483 1 0.67 0.507
- 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.756 0.292 40 0.346 1.652 1 −0.722 0.474
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.756 0.292 40 0.346 1.652 1 −0.722 0.474
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.075 0.395 40 0.512 2.258 1 0.197 0.845
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.075 0.395 40 0.512 2.258 1 0.197 0.845
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.421 0.477 40 0.721 2.802 1 1.047 0.301
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.421 0.477 40 0.721 2.802 1 1.047 0.301
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:


2.2 Density of Cleaved Caspase 3+ cells (whole slice)

2.2.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 180.225 123.015 15,132.722 0.683 166.972 61.979 406.598 1.47 2.595 6
IH 274.695 118.446 14,029.473 0.431 202.297 100.665 365.223 −1.752 3.296 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 180.225 123.015 15,132.722 0.683 166.972 61.979 406.598 1.47 2.595 6
IH 274.695 118.446 14,029.473 0.431 202.297 100.665 365.223 −1.752 3.296 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 230.125 149.001 22,201.247 0.647 314.226 21.376 401.676 −0.268 −1.3 8
IH 149.119 92.693 8,591.977 0.622 136.717 26.856 287.836 0.439 2.054 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 230.125 149.001 22,201.247 0.647 314.226 21.376 401.676 −0.268 −1.3 8
IH 149.119 92.693 8,591.977 0.622 136.717 26.856 287.836 0.439 2.054 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 240.033 182.462 33,292.413 0.76 274.869 7.406 609.499 0.712 0.164 11
IH 266.923 246.581 60,802.364 0.924 341.751 21.277 767.214 1.276 1.587 8
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 240.033 182.462 33,292.413 0.76 274.869 7.406 609.499 0.712 0.164 11
IH 266.923 246.581 60,802.364 0.924 341.751 21.277 767.214 1.276 1.587 8

2.2.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = Dens_Tot ~ 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
555.72 560.08 569.62 0.44 0.02 0.43 112.93 0.70
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
555.72 560.08 569.62 0.44 0.02 0.43 112.93 0.70

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_Tot ~ 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
564.87 569.24 578.77 2.30e-05 3.04e-06 1.99e-05 103.43 123.19
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
564.87 569.24 578.77 2.30e-05 3.04e-06 1.99e-05 103.43 123.19

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.

2.2.3 Effects Analysis

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

2.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) 211.638 46.282 (137.86, 324.89) 24.487 < .001
Condition1 0.926 0.202 (0.60, 1.42) -0.352 0.725
Z1 1.119 0.208 (0.78, 1.61) 0.603 0.547
Z2 0.939 0.169 (0.66, 1.34) -0.351 0.725
Condition1 * Z1 0.832 0.154 (0.58, 1.20) -0.994 0.320
Condition1 * Z2 1.116 0.203 (0.78, 1.60) 0.605 0.545
Model: Dens_Tot ~ Condition * Z (42 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 211.638 46.282 (137.86, 324.89) 24.487 < .001
Condition1 0.926 0.202 (0.60, 1.42) -0.352 0.725
Z1 1.119 0.208 (0.78, 1.61) 0.603 0.547
Z2 0.939 0.169 (0.66, 1.34) -0.351 0.725
Condition1 * Z1 0.832 0.154 (0.58, 1.20) -0.994 0.320
Condition1 * Z2 1.116 0.203 (0.78, 1.60) 0.605 0.545
Model: Dens_Tot ~ Condition * Z (42 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 0.12 1 0.720
Z 0.36 2 0.830
Condition:Z 0.99 2 0.610
term statistic df p.value
Condition 0.12 1 0.720
Z 0.36 2 0.830
Condition:Z 0.99 2 0.610

❖ Main effects (Likelihood Ratio Test):

LRT(mod, pred = "Condition")
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 540.59 549.28 -265.30 530.59
mod_full 8 545.35 559.25 -264.68 529.35 1.24 3 0.740
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 540.59 549.28 -265.30 530.59
mod_full 8 545.35 559.25 -264.68 529.35 1.24 3 0.740
Important

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

2.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 195.96 56.502 40 109.417 350.954
IH 228.571 75.159 40 117.598 444.264
Condition response SE df lower.CL upper.CL
N 195.96 56.502 40 109.417 350.954
IH 228.571 75.159 40 117.598 444.264
- 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.857 0.375 40 0.354 2.075 1 −0.352 0.727
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.857 0.375 40 0.354 2.075 1 −0.352 0.727
- 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 236.768 71.688 40 128.4 436.598
Med 198.691 57.349 40 110.874 356.061
Post 201.504 51.328 40 120.421 337.184
Z response SE df lower.CL upper.CL
Ant 236.768 71.688 40 128.4 436.598
Med 198.691 57.349 40 110.874 356.061
Post 201.504 51.328 40 120.421 337.184
- 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.192 0.385 40 0.62 2.289 1 0.543 0.590
Ant / Post 1.175 0.364 40 0.628 2.198 1 0.521 0.606
Med / Post 0.986 0.294 40 0.54 1.801 1 −0.047 0.963
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
Ant / Med 1.192 0.385 40 0.62 2.289 1 0.543 0.590
Ant / Post 1.175 0.364 40 0.628 2.198 1 0.521 0.606
Med / Post 0.986 0.294 40 0.54 1.801 1 −0.047 0.963
- 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 182.496 72.076 40 82.147 405.426
IH 307.179 139.779 40 122.457 770.546
Condition response SE df lower.CL upper.CL
N 182.496 72.076 40 82.147 405.426
IH 307.179 139.779 40 122.457 770.546
Condition response SE df lower.CL upper.CL
N 205.4 72.627 40 100.517 419.722
IH 192.2 88.227 40 76.004 486.04
Condition response SE df lower.CL upper.CL
N 205.4 72.627 40 100.517 419.722
IH 192.2 88.227 40 76.004 486.04
Condition response SE df lower.CL upper.CL
N 200.748 66.757 40 102.509 393.132
IH 202.263 77.281 40 93.443 437.811
Condition response SE df lower.CL upper.CL
N 200.748 66.757 40 102.509 393.132
IH 202.263 77.281 40 93.443 437.811
- 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.594 0.356 40 0.177 1.996 1 −0.869 0.390
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.594 0.356 40 0.177 1.996 1 −0.869 0.390
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.069 0.622 40 0.33 3.462 1 0.114 0.910
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.069 0.622 40 0.33 3.462 1 0.114 0.910
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.993 0.5 40 0.359 2.746 1 −0.015 0.988
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.993 0.5 40 0.359 2.746 1 −0.015 0.988
- 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.556 0.364 40 0.148 2.09 1 −0.896 0.376
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.556 0.364 40 0.148 2.09 1 −0.896 0.376
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.599 0.358 40 0.179 2.002 1 −0.859 0.395
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.599 0.358 40 0.179 2.002 1 −0.859 0.395
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.077 0.634 40 0.328 3.538 1 0.126 0.901
Condition ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.077 0.634 40 0.328 3.538 1 0.126 0.901
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Boxplot:


2.3 Proportion of Cleaved Caspase 3+ marking (whole slice)

2.3.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.01 0.007 0 0.686 0.01 0.003 0.021 1.002 0.847 6
IH 0.016 0.007 0 0.437 0.011 0.005 0.02 −1.919 3.75 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.01 0.007 0 0.686 0.01 0.003 0.021 1.002 0.847 6
IH 0.016 0.007 0 0.437 0.011 0.005 0.02 −1.919 3.75 4
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.013 0.01 0 0.732 0.02 0.001 0.027 0.171 −1.156 8
IH 0.008 0.006 0 0.722 0.008 0.001 0.017 1.09 2.625 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.013 0.01 0 0.732 0.02 0.001 0.027 0.171 −1.156 8
IH 0.008 0.006 0 0.722 0.008 0.001 0.017 1.09 2.625 5
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.013 0.012 0 0.859 0.014 0 0.041 1.334 2.455 11
IH 0.015 0.015 0 0.993 0.02 0.001 0.047 1.416 2.028 8
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 0.013 0.012 0 0.859 0.014 0 0.041 1.334 2.455 11
IH 0.015 0.015 0 0.993 0.02 0.001 0.047 1.416 2.028 8

2.3.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = Prop_C_Tot ~ 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
-269.79 -265.42 -255.89 0.62 0.07 0.59 6.27e-03 221.78
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
-269.79 -265.42 -255.89 0.62 0.07 0.59 6.27e-03 221.78

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 = Prop_C_Tot ~ 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
-252.05 -247.68 -238.14 1.00 0.14 1.00 6.14e-03 7.31e-03
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
-252.05 -247.68 -238.14 1.00 0.14 1.00 6.14e-03 7.31e-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.

2.3.3 Effects Analysis

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

2.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.013 0.003 (8.30e-03, 0.02) -19.459 < .001
Condition1 0.884 0.193 (0.58, 1.36) -0.564 0.573
Z1 1.014 0.146 (0.77, 1.34) 0.100 0.920
Z2 0.971 0.138 (0.73, 1.28) -0.206 0.837
Condition1 * Z1 0.735 0.107 (0.55, 0.98) -2.115 0.034 *
Condition1 * Z2 1.269 0.180 (0.96, 1.68) 1.676 0.094
Model: Prop_C_Tot ~ Condition * Z (42 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 0.013 0.003 (8.30e-03, 0.02) -19.459 < .001
Condition1 0.884 0.193 (0.58, 1.36) -0.564 0.573
Z1 1.014 0.146 (0.77, 1.34) 0.100 0.920
Z2 0.971 0.138 (0.73, 1.28) -0.206 0.837
Condition1 * Z1 0.735 0.107 (0.55, 0.98) -2.115 0.034 *
Condition1 * Z2 1.269 0.180 (0.96, 1.68) 1.676 0.094
Model: Prop_C_Tot ~ Condition * Z (42 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 0.32 1 0.570
Z 0.04 2 0.980
Condition:Z 4.68 2 0.100
term statistic df p.value
Condition 0.32 1 0.570
Z 0.04 2 0.980
Condition:Z 4.68 2 0.100

❖ Main effects (Likelihood Ratio Test):

LRT(mod, pred = "Condition")
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 -283.57 -274.88 146.78 -293.57
mod_full 8 -282.01 -268.11 149.01 -298.01 4.44 3 0.220
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 5 -283.57 -274.88 146.78 -293.57
mod_full 8 -282.01 -268.11 149.01 -298.01 4.44 3 0.220
Important

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

2.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.011 0.003 40 0.006 0.02
IH 0.014 0.005 40 0.007 0.027
Condition response SE df lower.CL upper.CL
N 0.011 0.003 40 0.006 0.02
IH 0.014 0.005 40 0.007 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.782 0.341 40 0.324 1.887 1 −0.564 0.576
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.782 0.341 40 0.324 1.887 1 −0.564 0.576
- 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.013 0.004 40 0.007 0.022
Med 0.012 0.003 40 0.007 0.021
Post 0.013 0.003 40 0.008 0.021
Z response SE df lower.CL upper.CL
Ant 0.013 0.004 40 0.007 0.022
Med 0.012 0.003 40 0.007 0.021
Post 0.013 0.003 40 0.008 0.021
- 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 1.045 0.269 40 0.621 1.758 1 0.17 0.866
Ant / Post 0.999 0.228 40 0.631 1.583 1 −0.003 0.998
Med / Post 0.957 0.216 40 0.607 1.509 1 −0.196 0.845
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
Ant / Med 1.045 0.269 40 0.621 1.758 1 0.17 0.866
Ant / Post 0.999 0.228 40 0.631 1.583 1 −0.003 0.998
Med / Post 0.957 0.216 40 0.607 1.509 1 −0.196 0.845
- 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.008 0.003 40 0.004 0.018
IH 0.02 0.008 40 0.009 0.042
Condition response SE df lower.CL upper.CL
N 0.008 0.003 40 0.004 0.018
IH 0.02 0.008 40 0.009 0.042
Condition response SE df lower.CL upper.CL
N 0.014 0.005 40 0.007 0.027
IH 0.011 0.005 40 0.005 0.025
Condition response SE df lower.CL upper.CL
N 0.014 0.005 40 0.007 0.027
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.023
IH 0.014 0.005 40 0.007 0.027
Condition response SE df lower.CL upper.CL
N 0.012 0.004 40 0.006 0.023
IH 0.014 0.005 40 0.007 0.027
- 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.423 0.231 40 0.14 1.274 1 −1.577 0.123
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.423 0.231 40 0.14 1.274 1 −1.577 0.123
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.259 0.667 40 0.432 3.674 1 0.436 0.666
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.259 0.667 40 0.432 3.674 1 0.436 0.666
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.899 0.421 40 0.349 2.314 1 −0.227 0.821
contrast odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.899 0.421 40 0.349 2.314 1 −0.227 0.821
- 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.336 0.174 40 0.118 0.956 1 −2.107 0.041 *
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.336 0.174 40 0.118 0.956 1 −2.107 0.041 *
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.47 0.217 40 0.185 1.197 1 −1.632 0.111
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.47 0.217 40 0.185 1.197 1 −1.632 0.111
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.401 0.63 40 0.565 3.475 1 0.749 0.458
Condition odds.ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 1.401 0.63 40 0.565 3.475 1 0.749 0.458
- 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: