Package: nutrigon Title: Angular Separation Between Nutritional Optima Version: 0.1.0 Authors@R: person("Juliano", "Morimoto", email = "juliano.morimoto@abdn.ac.uk", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-3561-1920")) Description: Fits response surfaces (ordinary least squares, generalized linear models with any family including quasi-families, or linear mixed-effects models) to trait data collected under the Geometric Framework for Nutrition and computes the angular separation (theta) between the nutritional optima of two traits, with percentile bootstrap confidence intervals that propagate surface-estimation uncertainty (case or stratified resampling; paired or unpaired). Provides a design-matched coverage check that simulates validation configurations on the user's own design and at the signal-to-noise ratio of the fitted surfaces, an equivalence test for alignment of optima, local Gaussian and mean curvature, and a surface-area ratio. Includes the Drosophila lifespan and fecundity dataset of Lee et al. (2008) "Lifespan and reproduction in Drosophila: new insights from nutritional geometry" as a worked example. The angular approach was introduced in Morimoto (2023) "Nutrigonometry I: using right-angle triangles to quantify nutritional trade-offs in performance landscapes" . License: MIT + file LICENSE Encoding: UTF-8 LazyData: true Roxygen: list(markdown = TRUE) RoxygenNote: 7.3.2 Depends: R (>= 4.1) Imports: stats, grDevices, withr Suggests: ggplot2, ggdendro, ggrepel, patchwork, knitr, rmarkdown, testthat (>= 3.0.0), lme4, lmerTest, pracma VignetteBuilder: knitr Config/testthat/edition: 3 URL: https://github.com/jmor2753/nutrigon BugReports: https://github.com/jmor2753/nutrigon/issues NeedsCompilation: no Repository: https://jmor2753.r-universe.dev Date/Publication: 2026-10-23 12:28:03 UTC RemoteUrl: https://github.com/jmor2753/nutrigon RemoteRef: HEAD RemoteSha: bd9496233cc3d033ceb718d525476f3b41893038 Packaged: 2026-11-08 11:40:56 UTC; root Author: Juliano Morimoto [aut, cre] (ORCID: ) Maintainer: Juliano Morimoto