14  Weight [Adults]

Data

Description

Variable Description
Mouse

Mouse unique identifier

Stage

Developmental stage

Condition

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

Weight

Mouse Weight (g)

Variable Description
Mouse

Mouse unique identifier

Stage

Developmental stage

Condition

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

Weight

Mouse Weight (g)

Correlations

14.1 Weight evolution in time (Adults)

14.1.1 Data Exploration

Distribution:

Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 17.229 2.866 8.215 0.166 3.3 14.7 24.3 1.469 1.774 14
IH 20.04 2.378 5.656 0.119 3.95 16 23.5 −0.256 −0.839 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 17.229 2.866 8.215 0.166 3.3 14.7 24.3 1.469 1.774 14
IH 20.04 2.378 5.656 0.119 3.95 16 23.5 −0.256 −0.839 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 16.864 3 8.999 0.178 3.75 14.2 24.2 1.481 1.628 14
IH 19.99 2.256 5.088 0.113 4.125 16.7 23.3 0.045 −1.218 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 16.864 3 8.999 0.178 3.75 14.2 24.2 1.481 1.628 14
IH 19.99 2.256 5.088 0.113 4.125 16.7 23.3 0.045 −1.218 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 19.193 2.085 4.347 0.109 2.65 16.8 24.5 1.427 2.141 14
IH 19.57 2.777 7.713 0.142 4.8 15.8 23.9 0.086 −1.5 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 19.193 2.085 4.347 0.109 2.65 16.8 24.5 1.427 2.141 14
IH 19.57 2.777 7.713 0.142 4.8 15.8 23.9 0.086 −1.5 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 19.536 2.041 4.166 0.104 2.4 16.9 24.8 1.381 2.436 14
IH 21.11 2.242 5.025 0.106 3.625 18.2 24.7 0.255 −1.103 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 19.536 2.041 4.166 0.104 2.4 16.9 24.8 1.381 2.436 14
IH 21.11 2.242 5.025 0.106 3.625 18.2 24.7 0.255 −1.103 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 20.107 2.144 4.596 0.107 1.875 17.5 25.6 1.47 2.529 14
IH 20.61 2.037 4.148 0.099 2.7 18.2 24.4 0.936 0.164 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 20.107 2.144 4.596 0.107 1.875 17.5 25.6 1.47 2.529 14
IH 20.61 2.037 4.148 0.099 2.7 18.2 24.4 0.936 0.164 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 20.414 2.091 4.374 0.102 2.425 18.2 25.5 1.303 1.687 14
IH 21.5 2.578 6.647 0.12 4.425 18 25.2 0.181 −1.459 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 20.414 2.091 4.374 0.102 2.425 18.2 25.5 1.303 1.687 14
IH 21.5 2.578 6.647 0.12 4.425 18 25.2 0.181 −1.459 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 20.471 2.246 5.045 0.11 2.675 17.8 25.8 1.235 1.4 14
IH 21.81 2.678 7.17 0.123 4.875 18.2 25.5 0.034 −1.748 10
Condition Mean SD Variance CoV IQR Min Max Skewness Kurtosis n
N 20.471 2.246 5.045 0.11 2.675 17.8 25.8 1.235 1.4 14
IH 21.81 2.678 7.17 0.123 4.875 18.2 25.5 0.034 −1.748 10

Evolution:

14.1.2 Models & Diagnostics

Exploring some Generalized Linear (Mixed) model candidates:

Model call:

```{r}
glmmTMB(formula = Weight ~ Condition * Stage + ar1(Stage + 0 | 
    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
609.76 613.84 662.87 0.91 0.91 0 0.28 0.02
AIC AICc BIC R2_conditional R2_marginal ICC RMSE Sigma
609.76 613.84 662.87 0.91 0.91 0 0.28 0.02

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 = Weight ~ Condition * Stage + (Stage || Mouse), 
    data = data, family = Gamma("log"), REML = TRUE, start = list(beta = c(I(mean(data$Weight)), 
        rep(0, 13))), ziformula = ~0, dispformula = ~1)
```

Performance:

performance::performance(mod)
AIC AICc BIC R2_conditional R2_marginal RMSE Sigma
648.04 655.02 716.77 0.79 0.62 0.04
AIC AICc BIC R2_conditional R2_marginal RMSE Sigma
648.04 655.02 716.77 0.79 0.62 0.04

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:

14.1.3 Effects Analysis

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

14.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) 19.710 0.485 (18.78, 20.68) 121.145 < .001
Condition1 0.961 0.024 (0.92, 1.01) -1.636 0.102
Stage1 0.934 0.009 (0.92, 0.95) -6.890 < .001
Stage2 0.923 0.008 (0.91, 0.94) -9.647 < .001
Stage3 0.976 0.007 (0.96, 0.99) -3.299 < .001
Stage4 1.025 0.007 (1.01, 1.04) 3.666 < .001
Stage5 1.028 0.007 (1.01, 1.04) 3.862 < .001
Stage6 1.057 0.009 (1.04, 1.07) 6.686 < .001
Condition1 * Stage1 0.963 0.010 (0.94, 0.98) -3.831 < .001
Condition1 * Stage2 0.953 0.008 (0.94, 0.97) -5.808 < .001
Condition1 * Stage3 1.033 0.007 (1.02, 1.05) 4.505 < .001
Condition1 * Stage4 1.002 0.007 (0.99, 1.02) 0.241 0.810
Condition1 * Stage5 1.028 0.007 (1.01, 1.04) 3.792 < .001
Condition1 * Stage6 1.015 0.008 (1.00, 1.03) 1.828 0.068
Model: Weight ~ Condition * Stage (168 Observations)
Parameter Coefficient SE 95% CI z p
(Intercept) 19.710 0.485 (18.78, 20.68) 121.145 < .001
Condition1 0.961 0.024 (0.92, 1.01) -1.636 0.102
Stage1 0.934 0.009 (0.92, 0.95) -6.890 < .001
Stage2 0.923 0.008 (0.91, 0.94) -9.647 < .001
Stage3 0.976 0.007 (0.96, 0.99) -3.299 < .001
Stage4 1.025 0.007 (1.01, 1.04) 3.666 < .001
Stage5 1.028 0.007 (1.01, 1.04) 3.862 < .001
Stage6 1.057 0.009 (1.04, 1.07) 6.686 < .001
Condition1 * Stage1 0.963 0.010 (0.94, 0.98) -3.831 < .001
Condition1 * Stage2 0.953 0.008 (0.94, 0.97) -5.808 < .001
Condition1 * Stage3 1.033 0.007 (1.02, 1.05) 4.505 < .001
Condition1 * Stage4 1.002 0.007 (0.99, 1.02) 0.241 0.810
Condition1 * Stage5 1.028 0.007 (1.01, 1.04) 3.792 < .001
Condition1 * Stage6 1.015 0.008 (1.00, 1.03) 1.828 0.068
Model: Weight ~ Condition * Stage (168 Observations)

❖ Main effects (Wald Chi-Square):

car::Anova(mod, type = 3)
term statistic df p.value
Condition 2.68 1 0.100
Stage 108.61 6 <0.001 ***
Condition:Stage 79.97 6 <0.001 ***
term statistic df p.value
Condition 2.68 1 0.100
Stage 108.61 6 <0.001 ***
Condition:Stage 79.97 6 <0.001 ***

❖ Main effects (Likelihood Ratio Test):

LRT(mod, pred = "Condition")
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 10 557.64 588.87 -268.82 537.64
mod_full 17 499.82 552.92 -232.91 465.82 71.82 7 <0.001 ***
model df aic bic log_lik deviance chisq chi_df pr_chisq
mod_reduced 10 557.64 588.87 -268.82 537.64
mod_full 17 499.82 552.92 -232.91 465.82 71.82 7 <0.001 ***
Important

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

14.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 18.933 0.601 165 17.782 20.158
IH 20.52 0.771 165 19.052 22.101
Condition response SE df lower.CL upper.CL
N 18.933 0.601 165 17.782 20.158
IH 20.52 0.771 165 19.052 22.101
- Results are averaged over the levels of: Stage
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale

Contrasts:

emmeans(mod, specs = pred, type = "response") |> 
  contrast(method = "consec", adjust = "none", infer = TRUE)
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
IH / N 1.084 0.053 165 0.983 1.194 1 1.636 0.104
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
IH / N 1.084 0.053 165 0.983 1.194 1 1.636 0.104
- Results are averaged over the levels of: Stage
- 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")
Stage response SE df lower.CL upper.CL
P49 18.414 0.478 165 17.494 19.384
P51 18.191 0.473 165 17.282 19.148
P53 19.246 0.5 165 18.284 20.259
P56 20.21 0.525 165 19.199 21.273
P58 20.268 0.526 165 19.255 21.335
P60 20.837 0.541 165 19.796 21.934
P63 21.004 0.546 165 19.954 22.11
Stage response SE df lower.CL upper.CL
P49 18.414 0.478 165 17.494 19.384
P51 18.191 0.473 165 17.282 19.148
P53 19.246 0.5 165 18.284 20.259
P56 20.21 0.525 165 19.199 21.273
P58 20.268 0.526 165 19.255 21.335
P60 20.837 0.541 165 19.796 21.934
P63 21.004 0.546 165 19.954 22.11
- 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 = "consec", adjust = "none", infer = TRUE)
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
P51 / P49 0.988 0.01 165 0.969 1.007 1 −1.266 0.207
P53 / P51 1.058 0.01 165 1.038 1.078 1 5.844 <0.001 ***
P56 / P53 1.05 0.01 165 1.03 1.07 1 5.063 <0.001 ***
P58 / P56 1.003 0.01 165 0.984 1.022 1 0.3 0.765
P60 / P58 1.028 0.01 165 1.009 1.048 1 2.871 0.005 **
P63 / P60 1.008 0.01 165 0.989 1.027 1 0.827 0.410
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
P51 / P49 0.988 0.01 165 0.969 1.007 1 −1.266 0.207
P53 / P51 1.058 0.01 165 1.038 1.078 1 5.844 <0.001 ***
P56 / P53 1.05 0.01 165 1.03 1.07 1 5.063 <0.001 ***
P58 / P56 1.003 0.01 165 0.984 1.022 1 0.3 0.765
P60 / P58 1.028 0.01 165 1.009 1.048 1 2.871 0.005 **
P63 / P60 1.008 0.01 165 0.989 1.027 1 0.827 0.410
- 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 17.031 0.571 165 15.94 18.197
IH 19.91 0.79 165 18.41 21.532
Condition response SE df lower.CL upper.CL
N 17.031 0.571 165 15.94 18.197
IH 19.91 0.79 165 18.41 21.532
Condition response SE df lower.CL upper.CL
N 16.649 0.558 165 15.583 17.789
IH 19.875 0.789 165 18.378 21.495
Condition response SE df lower.CL upper.CL
N 16.649 0.558 165 15.583 17.789
IH 19.875 0.789 165 18.378 21.495
Condition response SE df lower.CL upper.CL
N 19.098 0.64 165 17.875 20.406
IH 19.395 0.77 165 17.934 20.976
Condition response SE df lower.CL upper.CL
N 19.098 0.64 165 17.875 20.406
IH 19.395 0.77 165 17.934 20.976
Condition response SE df lower.CL upper.CL
N 19.444 0.652 165 18.198 20.775
IH 21.005 0.833 165 19.423 22.717
Condition response SE df lower.CL upper.CL
N 19.444 0.652 165 18.198 20.775
IH 21.005 0.833 165 19.423 22.717
Condition response SE df lower.CL upper.CL
N 20.009 0.671 165 18.727 21.379
IH 20.531 0.815 165 18.984 22.204
Condition response SE df lower.CL upper.CL
N 20.009 0.671 165 18.727 21.379
IH 20.531 0.815 165 18.984 22.204
Condition response SE df lower.CL upper.CL
N 20.322 0.681 165 19.02 21.713
IH 21.366 0.848 165 19.756 23.107
Condition response SE df lower.CL upper.CL
N 20.322 0.681 165 19.02 21.713
IH 21.366 0.848 165 19.756 23.107
Condition response SE df lower.CL upper.CL
N 20.365 0.683 165 19.06 21.759
IH 21.664 0.86 165 20.032 23.429
Condition response SE df lower.CL upper.CL
N 20.365 0.683 165 19.06 21.759
IH 21.664 0.86 165 20.032 23.429
- 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.855 0.044 165 0.772 0.948 1 −3.006 0.003 **
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.855 0.044 165 0.772 0.948 1 −3.006 0.003 **
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.838 0.044 165 0.756 0.928 1 −3.409 <0.001 ***
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.838 0.044 165 0.756 0.928 1 −3.409 <0.001 ***
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.985 0.051 165 0.889 1.091 1 −0.297 0.767
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.985 0.051 165 0.889 1.091 1 −0.297 0.767
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.926 0.048 165 0.835 1.026 1 −1.487 0.139
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.926 0.048 165 0.835 1.026 1 −1.487 0.139
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.975 0.051 165 0.88 1.08 1 −0.495 0.621
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.975 0.051 165 0.88 1.08 1 −0.495 0.621
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.951 0.049 165 0.858 1.054 1 −0.965 0.336
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.951 0.049 165 0.858 1.054 1 −0.965 0.336
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.94 0.049 165 0.848 1.042 1 −1.191 0.236
contrast ratio SE df lower.CL upper.CL null t.ratio p.value
N / IH 0.94 0.049 165 0.848 1.042 1 −1.191 0.236
- Confidence level used: 0.95
- Intervals are back-transformed from the log scale
- Tests are performed on the log scale

Temporal plot: