{"id":32203656,"url":"https://github.com/biometris/douconca","last_synced_at":"2026-02-21T12:01:51.709Z","repository":{"id":257384344,"uuid":"858097245","full_name":"Biometris/douconca","owner":"Biometris","description":"Analysis of multi-trait multi-environment ecological data using double constrained correspondence analysis","archived":false,"fork":false,"pushed_at":"2025-10-14T07:05:02.000Z","size":16277,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-08T20:52:17.317Z","etag":null,"topics":["correspondence-analysis","ecology","ecology-modeling","multi-environment","multi-trait","r-package"],"latest_commit_sha":null,"homepage":"https://biometris.github.io/douconca/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Biometris.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json"}},"created_at":"2024-09-16T09:55:19.000Z","updated_at":"2025-10-14T06:10:28.000Z","dependencies_parsed_at":"2024-09-16T11:57:45.396Z","dependency_job_id":"77ca5e51-ce40-4b42-a4de-73fd0ae962dc","html_url":"https://github.com/Biometris/douconca","commit_stats":null,"previous_names":["biometris/douconca"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Biometris/douconca","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Biometris%2Fdouconca","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Biometris%2Fdouconca/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Biometris%2Fdouconca/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Biometris%2Fdouconca/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Biometris","download_url":"https://codeload.github.com/Biometris/douconca/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Biometris%2Fdouconca/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29680147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T11:29:27.227Z","status":"ssl_error","status_checked_at":"2026-02-21T11:29:20.292Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["correspondence-analysis","ecology","ecology-modeling","multi-environment","multi-trait","r-package"],"created_at":"2025-10-22T04:44:45.287Z","updated_at":"2026-02-21T12:01:51.696Z","avatar_url":"https://github.com/Biometris.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\r\noutput: github_document\r\neditor_options: \r\n  markdown: \r\n    wrap: 72\r\n---\r\n\r\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\r\n\r\n```{r, include = FALSE}\r\nknitr::opts_chunk$set(\r\n  collapse = TRUE,\r\n  comment = \"#\u003e\",\r\n  fig.path = \"man/figures/README-\",\r\n  out.width = \"100%\"\r\n)\r\n```\r\n\r\n# douconca\r\n\r\n\u003c!-- badges: start --\u003e\r\n\r\n[![](https://www.r-pkg.org/badges/version/douconca)](https://www.r-pkg.org/pkg/douconca)\r\n[![CRAN RStudio mirror\r\ndownloads](https://cranlogs.r-pkg.org/badges/douconca)](https://www.r-pkg.org/pkg/douconca)\r\n[![R-CMD-check](https://github.com/Biometris/douconca/workflows/R-CMD-check/badge.svg)](https://github.com/Biometris/douconca/actions?workflow=R-CMD-check)\r\n[![codecov](https://codecov.io/gh/Biometris/douconca/branch/main/graph/badge.svg)](https://app.codecov.io/gh/Biometris/douconca)\r\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13970152.svg)](https://doi.org/10.5281/zenodo.13970152)\r\n\r\n\u003c!-- badges: end --\u003e\r\n\r\nR library `douconca` analyzes multi-trait multi-environment ecological\r\ndata by double constrained correspondence analysis (ter Braak \u0026 van Rossum,\r\n2025) using `vegan` and native R code. It has a `formula` interface for\r\nthe trait- (column-) and environment- (row-) models, which allows to\r\nassess, for example, the importance of trait interactions in shaping\r\necological communities. Throughout the two step algorithm of ter Braak\r\net al. (2018) is used. This algorithm combines and extends community-\r\n(sample-) and species-level analyses, i.e. the usual community weighted\r\nmeans (CWM)-based regression analysis and the species-level analysis of\r\nspecies-niche centroids (SNC)-based regression analysis. The CWM\r\nregressions are specified with an environmental formula and the SNC\r\nregressions are specified with a trait formula. dcCA finds the\r\nenvironmental and trait gradients that optimize these regressions. The\r\nfirst step uses\r\n[cca](https://vegandevs.github.io/vegan/reference/cca.html){.uri}\r\n(Oksanen et al. 2022) to regress the transposed abundance data on to the\r\ntraits and (weighted) redundancy analysis to regress the\r\ncommunity-weighted means (CWMs) of the orthonormalized traits, obtained\r\nfrom the first step, on to the environmental predictors. The sample\r\ntotal of the abundance data are used as weights. The redundancy analysis\r\nis carried out using\r\n[rda](https://vegandevs.github.io/vegan/reference/rda.html){.uri} if\r\nsites have equal weights (after division of the rows by their total) or,\r\nin the general weighted case, using `wrda`. Division by the sample total\r\nhas the advantage that the multivariate analysis corresponds with an\r\nunweighted (multi-trait) community-level analysis, instead of being\r\nweighted, which may give a puzzling difference between common univariate\r\nand this multivariate analysis.\r\n\r\nReferences:\t\r\nter Braak, CJF, Šmilauer P, and Dray S. 2018. Algorithms and\r\nbiplots for double constrained correspondence analysis. Environmental\r\nand Ecological Statistics, 25(2), 171-197.\r\n\u003chttps://doi.org/10.1007/s10651-017-0395-x\u003e\r\n\r\nter  Braak, C.J.F. and van Rossum, B. (2025).\r\nLinking Multivariate Trait Variation to the Environment: \r\nAdvantages of Double Constrained Correspondence Analysis \r\nwith the R Package Douconca. Ecological Informatics, 88.\r\n\u003chttps://doi.org/10.1016/j.ecoinf.2025.103143\u003e\r\n## Installation\r\n\r\nYou can install the CRAN version of `douconca` by:\r\n\r\n``` r\r\ninstall.packages(\"douconca\")\r\n```\r\n\r\nYou can install the development version of `douconca` by:\r\n\r\n``` r\r\ninstall.packages(\"remotes\")\r\nremotes::install_github(\"Biometris/douconca\", ref = \"develop\", dependencies = TRUE)\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiometris%2Fdouconca","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbiometris%2Fdouconca","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiometris%2Fdouconca/lists"}