Linf_F_j <- param_summary["Linf_F", "mean"]
Linf_M_j <- param_summary["Linf_M", "mean"]
K_F_j <- param_summary["K_F", "mean"]
K_M_j <- param_summary["K_M", "mean"]
sig_obs <- param_summary["sigma_obs", "mean"]
growth_tbl <- data.frame(
Parameter = c("L∞_F (mm)", "L∞_M (mm)", "K_F (yr⁻¹)", "K_M (yr⁻¹)", "σ_obs (mm)"),
`Joint model — mean` = c(
round(Linf_F_j, 1), round(Linf_M_j, 1),
round(K_F_j, 3), round(K_M_j, 3), round(sig_obs, 1)),
`Joint model — 95% CI` = c(
paste0("(", round(param_summary["Linf_F","2.5%"],1), ", ", round(param_summary["Linf_F","97.5%"],1), ")"),
paste0("(", round(param_summary["Linf_M","2.5%"],1), ", ", round(param_summary["Linf_M","97.5%"],1), ")"),
paste0("(", round(param_summary["K_F","2.5%"],3), ", ", round(param_summary["K_F","97.5%"],3), ")"),
paste0("(", round(param_summary["K_M","2.5%"],3), ", ", round(param_summary["K_M","97.5%"],3), ")"),
paste0("(", round(param_summary["sigma_obs","2.5%"],1), ", ", round(param_summary["sigma_obs","97.5%"],1), ")")),
`Survivors-only (nlme)` = c(
round(VBParams$F$Linf, 1), round(VBParams$M$Linf, 1),
round(VBParams$F$K, 3), round(VBParams$M$K, 3), "—"),
`Δ L∞ (%)` = c(
paste0(round(100*(Linf_F_j - VBParams$F$Linf)/VBParams$F$Linf, 1), "%"),
paste0(round(100*(Linf_M_j - VBParams$M$Linf)/VBParams$M$Linf, 1), "%"),
"—", "—", "—"),
check.names = FALSE
)
kable(growth_tbl, align = c("l","r","r","r","r"),
caption = "Von Bertalanffy growth parameters: joint model vs survivors-only estimate.")