oneimpact
Provides tools for the assessment of cumulative impacts of multiple infrastructure and land use modifications in ecological studies.
https://github.com/NINAnor/oneimpact
Category: Biosphere
Sub Category: Biodiversity Analysis and Metrics
Keywords
biodiversity cumulative-impacts grass-gis r r-package
Last synced: about 3 hours ago
JSON representation
Repository metadata
Tools for the assessment of the cumulative impacts of anthropogenic features in ecological studies
- Host: GitHub
- URL: https://github.com/NINAnor/oneimpact
- Owner: NINAnor
- Created: 2022-01-28T14:38:29.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-25T11:28:56.000Z (5 days ago)
- Last Synced: 2025-04-25T12:28:05.930Z (5 days ago)
- Topics: biodiversity, cumulative-impacts, grass-gis, r, r-package
- Language: R
- Homepage: https://ninanor.github.io/oneimpact/
- Size: 82.8 MB
- Stars: 4
- Watchers: 5
- Forks: 5
- Open Issues: 12
- Releases: 2
-
Metadata Files:
- Readme: README.md
README.md
oneimpact
oneimpact
provides tools for the assessment of cumulative impacts of multiple infrastructure and land use modifications in ecological studies.
This includes tools to calculate the zone of influence (ZOI) of anthropogenic variables as well as tools for model fitting, estimation of the
effect size and ZOI, and ancillary functions. The functions dealing with spatial data processing can
be run in both R and GRASS GIS, using R as an interface. The tools available so far are:
Compute spatial layers representing zones of influence
The first set of functions in oneimpact
are aimed at computing the (potential) ZOI of infrastructure or other
spatial covariates. This means we use spatial information on where they are located to compute
the density of features in space (i.e. the cumulative ZOI) and/or the (decay) distance to the nearest
feature (i.e. the ZOI of the nearest), given an expected ZOI radius (i.e. the distance up to which
a given feature is expected to affect a certain species or process). These functions do not estimate
the ZOI, though (which is context and process dependent); for that see more functions further down.
Here are the main functions in oneimpact
to compute spatial layers representing zones of influence.
Zone of influence (ZOI) decay functions
- zoi_functions: a set of decay zone of influence functions to characterize different shapes of the ZOI around infrastructure,
parameterized based on the zone of influence radius. The functions implemented so far are: threshold (threshold_decay()
orstep_decay()
),
linear decay (linear_decay()
orbartlett_decay()
ortent_decay()
), exponential decay (exp_decay()
), or Gaussian decay
(gaussian_decay()
orhalf_norm_decay()
). plot_zoi1d()
: plot ZOI in 1 dimensional space for multiple points infrastructure, using both the ZOI of the nearest
feature and the cumulative ZOI metric.
Compute zones of influence (ZOI)
calc_zoi_nearest()
: Calculate the zone of influence from the nearest infrastructure, according to multiple possible
decay functions and zones of influence radii.calc_zoi_cumulative()
: Calculate the cumulative zone of influence of multiple features, according to multiple possible
decay functions and zones of influence radii.calc_zoi()
: Calculate both the the ZOI of the nearest infrastructure and the cumulative ZOI, at multiple
scales or zones of influence radii.
Spatial filters
create_filter()
: Create filters or weight matrices for neighborhood analysis, according to different decay functions
and parameterized using the zone of influence radius.save_filter()
: Saves filters/weight matrices outside R for use within GRASS GIS modules.
Estimate the cumulative impact and the ZOI of features on a certain species or process
The oneimpact
package also allows us to, given a set of potential candidate ZOIs (with possibly
different types, shapes, and radii; computed with the functions above), estimate the actual
effect and ZOI of the variables on a certain species or process. This is done combining three elements:
- Bootstrap aggregation (bagging), a multi-model bootstrap procedure that allows us to estimate the
uncertainty in the effect sizes and ZOI radii; - Penalized regression, an approach that allows us to penalize estimated coefficients and possibly
remove the least likely covariates from a model, i.e., it allows us to perform model fitting together
with variable section; - Nested cross-validation, which allows is to consider hierarchical, spatial, or temporally cross-validation
schemes in model and variable/feature selection.
Estimating ZOI - set up analysis
Functions to set up RSF and SSF analyses using ZOI variables:
add_zoi_formula()
: Adds ZOI radii to formulaspat_strat()
: Prepares data for spatially stratified cross‐validation schemesexplore_blocks_pre()
andexplore_blocks()
: Explore hierarchical blocks before or
after sampling or spatial stratification, respectivelycreate_resamples()
: Create samples for fitting, calibrating, and validating models in
a bootstrap/baggin procedure.
Estimating ZOI - fit models
Functions to fit RSF and SSF and estimate ZOI using penalized regression
-
bag_fit_net_clogit()
: Fits a a bag of conditional logistic regressions/SSF/iSSF using glmnet.
This function is a wrapper aroundfit_net_clogit()
which is the one properly setting up the
model fitting, tunning, and validation. It allows the use of different penalization algorithms,
including Lasso, Ridge, Adaptive Lasso, and different adaptations from Adaptive Lasso. This
function calls the functionnet_logit()
which is the one properly callingglmnet
and fitting
the model. -
bag_fit_net_logit()
(andfit_net_logit()
,net_logit()
): equivalent to the one above, but
performing common logistic regression, with no strata. -
bag_load_models()
: Load a vector of files with the output offit_net_clogit()
or
fit_net_logit()
and put them on a bag. -
bag_models()
: Bag a list of loaded/fitted models fitted throughfit_net_clogit()
or
fit_net_logit()
. This created an object of classbag
with all information for understanding
and making prediction from the bag of models. -
AUC()
,conditionalAUC()
,coxnet.deviance()
,Cindex()
,conditionalSomersD()
: functions
used for model tunning (selecting penalties) and validation.
Estimating ZOI - interpret and visualize models
Functions to help interpreting parameters and visualizing cumulative impacts from bags
of fitted models:
bag_predict()
: Prediction of a bag of models to new data.variable_importance()
,plot_importance()
: Computes and plots variable importance from a bag of models.plot_coef()
: Plots the coefficients of bags of models.plot_response()
: Plots (partial) response curves from a bag of models.bag_predict_spat()
: Predict bag of models in space.bag_predict_spat_vars()
: Predict reponses of each individual covariate in space according to
a bag of models.
Installation
To install the development version of the oneimpact
R package, please use:
library(devtools)
devtools::install_github("NINAnor/oneimpact", ref = "HEAD")
Run with Docker
docker run --rm -p 8787:8787 -e PASSWORD=rstudio -v $PWD/myproject:/home/rstudio/myproject ghcr.io/ninanor/oneimpact:main
If you use Compose:
docker compose run rstudio
You can customize docker-compose.yml
based on your needs.
See also
For model fitting nad estimation of ZOI, see the pacakage glmnet
,
which is the backbone of the modeling approach used in oneimpact
. For other similar approaches,
check the maxnet()
for MaxEnt
species distribution models using glmnet
.
The oneimpact
functions to compute the ZOI layers are greatly based on neighborhood analyses
made through the terra
package in R and on three GRASS GIS modules:
r.mfilter
,
r.resamp.filter
, and
r.neighbors
. The connection
between R and GRASS GIS is made through the rgrass7
R package.
Meta
- Please report any issues or bugs.
- License: GPL3
- Get citation information for
oneimpact
in R runningcitation(package = 'oneimpact')
, or check the reference here. - Contributions are mostly welcome!
Owner metadata
- Name: Norwegian Institute for Nature Research
- Login: NINAnor
- Email:
- Kind: organization
- Description: NINA repositories. Also on GitLab: https://gitlab.com/nina-data.
- Website: http://www.nina.no
- Location: Norway
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/11290934?v=4
- Repositories: 114
- Last ynced at: 2023-06-13T16:15:20.551Z
- Profile URL: https://github.com/NINAnor
GitHub Events
Total
- Issues event: 2
- Delete event: 3
- Issue comment event: 2
- Push event: 39
- Pull request event: 3
- Fork event: 1
Last Year
- Issues event: 2
- Delete event: 3
- Issue comment event: 2
- Push event: 39
- Pull request event: 3
- Fork event: 1
Committers metadata
Last synced: 1 day ago
Total Commits: 433
Total Committers: 5
Avg Commits per committer: 86.6
Development Distribution Score (DDS): 0.023
Commits in past year: 91
Committers in past year: 3
Avg Commits per committer in past year: 30.333
Development Distribution Score (DDS) in past year: 0.022
Name | Commits | |
---|---|---|
Bernardo Brandao Niebuhr | b****m@y****r | 423 |
Francesco Frassinelli | f****i@n****o | 7 |
Stefan Blumentrath | s****h@g****e | 1 |
Niccolò Cantù | n****u@n****o | 1 |
Neriht | 3****t | 1 |
Committer domains:
- nina.no: 2
- gmx.de: 1
- yahoo.com.br: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 24
Total pull requests: 11
Average time to close issues: 9 months
Average time to close pull requests: 15 days
Total issue authors: 2
Total pull request authors: 5
Average comments per issue: 0.92
Average comments per pull request: 0.82
Merged pull request: 9
Bot issues: 0
Bot pull requests: 0
Past year issues: 2
Past year pull requests: 6
Past year average time to close issues: N/A
Past year average time to close pull requests: 13 days
Past year issue authors: 1
Past year pull request authors: 3
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.5
Past year merged pull request: 5
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- bniebuhr (22)
- renatamuy (2)
Top Pull Request Authors
- bniebuhr (3)
- frafra (3)
- Neriht (2)
- nicokant (2)
- ninsbl (1)
Top Issue Labels
- enhancement (3)
Top Pull Request Labels
Dependencies
- R >= 3.3 depends
- dplyr * imports
- ggplot2 * imports
- purrr * imports
- rgrass7 * imports
- scales * imports
- sf * imports
- terra * imports
- tibble * imports
- NLMR * suggests
- landscapetools * suggests
- mobsim * suggests
- raster * suggests
- rasterVis * suggests
- smoothie * suggests
- actions/checkout v1 composite
- docker/build-push-action v3 composite
- docker/login-action v2 composite
- docker/metadata-action v4 composite
- docker/setup-buildx-action v2 composite
- docker/setup-qemu-action v2 composite
- actions/checkout v2 composite
- r-lib/actions/setup-pandoc v1 composite
- r-lib/actions/setup-r v1 composite
- r-lib/actions/setup-r-dependencies v1 composite
- rocker/geospatial 4.2.1 build
Score: 4.382026634673881