chessboard

chessboard: An R package for creating network connections based on chess moves - Published in JOSS (2023)

https://github.com/frbcesab/chessboard

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

connectivity-matrix directed-networks neighborhood network one-dimensional-networks r-package spatial-networks two-dimensional-networks undirected-networks

Scientific Fields

Engineering Computer Science - 60% confidence
Last synced: 6 months ago · JSON representation ·

Repository

:package: Create network connections based on chess moves

Basic Info
Statistics
  • Stars: 5
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 1
Topics
connectivity-matrix directed-networks neighborhood network one-dimensional-networks r-package spatial-networks two-dimensional-networks undirected-networks
Created over 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.Rmd

---
output: github_document
---




```{r, include = FALSE}
knitr::opts_chunk$set(collapse  = TRUE,
                      comment   = "#>",
                      fig.path  = "man/figures/",
                      out.width = "100%")
```



chessboard 
=========================================================


[![CRAN status](https://www.r-pkg.org/badges/version/chessboard)](https://CRAN.R-project.org/package=chessboard)
[![R CMD Check](https://github.com/frbcesab/chessboard/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/frbcesab/chessboard/actions/workflows/R-CMD-check.yaml)
[![codecov](https://codecov.io/gh/FRBCesab/chessboard/branch/main/graph/badge.svg?token=qH71uWUiot)](https://app.codecov.io/gh/FRBCesab/chessboard)
[![Website](https://github.com/frbcesab/chessboard/actions/workflows/pkgdown.yaml/badge.svg)](https://github.com/frbcesab/chessboard/actions/workflows/pkgdown.yaml)
[![License: GPL (>= 2)](https://img.shields.io/badge/License-GPL%20%28%3E%3D%202%29-blue.svg)](https://choosealicense.com/licenses/gpl-2.0/)
[![status](https://joss.theoj.org/papers/f709edaff050ed0cb1ffb8dd4ad2a1bb/status.svg)](https://joss.theoj.org/papers/10.21105/joss.05753)


## Table of contents

Overview
Features
Installation
Get started
Long-form documentations
Citation
Contributing
Acknowledgments
References

## Overview The package `chessboard` provides functions to work with **directed** (asymmetric) and **undirected** (symmetric) spatial (or non-spatial) **networks**. It implements different methods to detect neighbors, all based on the chess game (it goes beyond the rook and the queen) to create complex connectivity scenarios. `chessboard` can handle spatial networks, but it does not explicitly use geographical coordinates to find neighbors (it is not based on spatial distance). Instead, it identifies neighbors according to **node labels** (i.e. the node position on a two-dimension chessboard) and a specific method (pawn, fool, rook, bishop, knight, queen, wizard, etc.). It implements the following rules to detect neighbors and create edges: - the **degree** of neighborhood: the number of adjacent nodes that will be used to create direct edges. - the **orientation** of neighborhood: can neighbors be detected horizontally, vertically and/or diagonally? - the **direction** of neighborhood: does the sampling has a main direction? This can be particularly relevant for directed networks (e.g. rivers). ## Features The main purpose of `chessboard` is to create various network objects, including: - **node list** - **edge list** - **connectivity matrix** `chessboard` also provides different plotting functions (all based on the [`ggplot2`](https://ggplot2.tidyverse.org/) package): - [`gg_matrix()`](https://frbcesab.github.io/chessboard/reference/gg_matrix.html) plots a (connectivity) matrix - [`gg_chessboard()`](https://frbcesab.github.io/chessboard/reference/gg_chessboard.html) plots the sampling as a chessboard Read the [Visualization tools](https://frbcesab.github.io/chessboard/articles/visualization-tools.html) vignette for further details. ![](vignettes/figures/diagramme.png) Finally, the package can also produce objects that will be used later in Moran's Eigenvector Maps ([MEM](https://rdrr.io/cran/adespatial/man/mem.html), Dray _et al._ 2006) and Asymetric Eigenvector Maps ([AEM](https://rdrr.io/cran/adespatial/man/aem.html), Blanchet _et al._ 2008), methods available in the package [`adespatial`](https://cran.r-project.org/package=adespatial) (Dray _et al._ 2023): - **edges weights matrix** - **spatial weights matrix** - **nodes by edges matrix** - **edges weights vector** ## Installation You can install the stable version from [CRAN](https://cran.r-project.org/) with: ```{r eval=FALSE} ## Install stable version of < chessboard > from CRAN ---- install.packages("chessboard") ``` Or you can install the development version from [GitHub](https://github.com/) with: ```{r eval=FALSE} ## Install < remotes > package (if not already installed) ---- if (!requireNamespace("remotes", quietly = TRUE)) { install.packages("remotes") } ## Install dev version of < chessboard > from GitHub ---- remotes::install_github("FRBCesab/chessboard") ``` Then you can attach the package `chessboard`: ```{r eval=FALSE} library("chessboard") ``` ## Get started For an overview of the main features of `chessboard`, please read the [Get started](https://frbcesab.github.io/chessboard/articles/chessboard.html) vignette. ## Long-form documentations `chessboard` provides three vignettes to learn more about the package: - the [Get started](https://frbcesab.github.io/chessboard/articles/chessboard.html) vignette describes the core features of the package - the [Chess pieces](https://frbcesab.github.io/chessboard/articles/chess-pieces.html) vignette details the different methods implemented in `chessboard` to detect neighbors - the [Visualization tools](https://frbcesab.github.io/chessboard/articles/visualization-tools.html) vignette describes the plotting functions available in `chessboard` ## Citation Please cite `chessboard` as: > Casajus N, Rievrs Borges E, Tabacchi E, Fried G & Mouquet N (2023) `chessboard`: An R package for creating network connections based on chess moves. **_Journal of Open Source Software_**, _8_, 5753. . ## Contributing All types of contributions are encouraged and valued. For more information, check out our [Contributor Guidelines](https://github.com/FRBCesab/chessboard/blob/main/CONTRIBUTING.md). Please note that the `chessboard` project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms. ## Acknowledgments This package has been developed for the [FRB-CESAB](https://www.fondationbiodiversite.fr/en/about-the-foundation/le-cesab/) working group [Bridge](https://www.fondationbiodiversite.fr/en/the-frb-in-action/programs-and-projects/le-cesab/bridge/) that aims to better understand the role of local and regional environmental factors in shaping the taxonomic and functional diversity of plant communities established along river corridors, roadside corridors and cultivated field margins. ## References Blanchet FG, Legendre P & Borcard D (2008) Modelling directional spatial processes in ecological data. **Ecological Modelling**, 215, 325-336. doi: [10.1016/j.ecolmodel.2008.04.001](https://doi.org/10.1016/j.ecolmodel.2008.04.001). Csardi G & Nepusz T (2006) The igraph software package for complex network research. **InterJournal, Complex Systems**, 1695, 1-9. . Dray S, Bauman D, Blanchet G _et al._ (2023) `adespatial`: Multivariate Multiscale Spatial Analysis. R package version 0.3-21, . Dray S, Legendre P & Peres-Neto PR (2006) Spatial modeling: a comprehensive framework for principal coordinate analysis of neighbor matrices (PCNM). **Ecological Modelling**, 196: 483–93. doi: [10.1016/j.ecolmodel.2006.02.015](https://doi.org/10.1016/j.ecolmodel.2006.02.015).

Owner

  • Name: FRB CESAB
  • Login: FRBCesab
  • Kind: organization
  • Location: Montpellier, FRANCE

JOSS Publication

chessboard: An R package for creating network connections based on chess moves
Published
October 13, 2023
Volume 8, Issue 90, Page 5753
Authors
Nicolas Casajus ORCID
FRB-CESAB, Montpellier, France
Érica Rievrs Borges ORCID
FRB-CESAB, Montpellier, France
Éric Tabacchi ORCID
CNRS, Toulouse, France
Guillaume Fried ORCID
ANSES, Montpellier, France
Nicolas Mouquet ORCID
FRB-CESAB, Montpellier, France, MARBEC, Univ Montpellier, CNRS, IFREMER, IRD, Montpellier, France
Editor
Nikoleta Glynatsi ORCID
Tags
r package networks neighbors edges

Citation (CITATION.cff)

# -----------------------------------------------------------
# CITATION file created with {cffr} R package, v0.5.0
# See also: https://docs.ropensci.org/cffr/
# -----------------------------------------------------------
 
cff-version: 1.2.0
message: 'To cite package "chessboard" in publications use:'
type: software
license: GPL-2.0-or-later
title: 'chessboard: Create Network Connections Based on Chess Moves'
version: 0.1.0.9000
doi: 10.21105/joss.05753
abstract: 'Provides functions to work with directed (asymmetric) and undirected (symmetric)
  spatial networks. It makes the creation of connectivity matrices easier, i.e. a
  binary matrix of dimension n x n, where n is the number of nodes (sampling units)
  indicating the presence (1) or the absence (0) of an edge (link) between pairs of
  nodes. Different network objects can be produced by ''chessboard'': node list, neighbor
  list, edge list, connectivity matrix. It can also produce objects that will be used
  later in Moran''s Eigenvector Maps (Dray et al. (2006) <doi:10.1016/j.ecolmodel.2006.02.015>)
  and Asymetric Eigenvector Maps (Blanchet et al. (2008) <doi:10.1016/j.ecolmodel.2008.04.001>),
  methods available in the package ''adespatial'' (Dray et al. (2023) <https://CRAN.R-project.org/package=adespatial>).
  This work is part of the FRB-CESAB working group Bridge <https://www.fondationbiodiversite.fr/en/the-frb-in-action/programs-and-projects/le-cesab/bridge/>.'
authors:
- family-names: Casajus
  given-names: Nicolas
  email: nicolas.casajus@fondationbiodiversite.fr
  orcid: https://orcid.org/0000-0002-5537-5294
- family-names: Rievrs Borges
  given-names: Erica
  email: erica.rievrs@fondationbiodiversite.fr
  orcid: https://orcid.org/0000-0001-7751-6265
- family-names: Tabacchi
  given-names: Eric
  email: eric.tabacchi@univ-tlse3.fr
  orcid: https://orcid.org/0000-0001-7729-4439
- family-names: Fried
  given-names: Guillaume
  email: guillaume.fried@anses.fr
  orcid: https://orcid.org/0000-0002-3653-195X
- family-names: Mouquet
  given-names: Nicolas
  email: nicolas.mouquet@cnrs.fr
  orcid: https://orcid.org/0000-0003-1840-6984
preferred-citation:
  type: article
  title: 'chessboard: An R package for creating network connections based on chess
    moves'
  authors:
  - name: Casajus Nicolas
  - name: Rievrs-Borges Erica
  - name: Tabacchi Eric
  - name: Fried Guillaume
  - name: Mouquet Nicolas
  journal: Journal of Open Source Software
  year: '2023'
  volume: '8'
  issue: '90'
  url: https://doi.org/10.21105/joss.05753
  doi: 10.21105/joss.05753
  start: '5753'
repository: https://CRAN.R-project.org/package=chessboard
repository-code: https://github.com/frbcesab/chessboard
url: https://github.com/frbcesab/chessboard
contact:
- family-names: Casajus
  given-names: Nicolas
  email: nicolas.casajus@fondationbiodiversite.fr
  orcid: https://orcid.org/0000-0002-5537-5294
keywords:
- connectivity-matrix
- directed-networks
- neighborhood
- network
- one-dimensional-networks
- r-package
- spatial-networks
- two-dimensional-networks
- undirected-networks
references:
- type: software
  title: dplyr
  abstract: 'dplyr: A Grammar of Data Manipulation'
  notes: Imports
  url: https://dplyr.tidyverse.org
  repository: https://CRAN.R-project.org/package=dplyr
  authors:
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
    orcid: https://orcid.org/0000-0003-4757-117X
  - family-names: François
    given-names: Romain
    orcid: https://orcid.org/0000-0002-2444-4226
  - family-names: Henry
    given-names: Lionel
  - family-names: Müller
    given-names: Kirill
    orcid: https://orcid.org/0000-0002-1416-3412
  - family-names: Vaughan
    given-names: Davis
    email: davis@posit.co
    orcid: https://orcid.org/0000-0003-4777-038X
  year: '2023'
- type: software
  title: ggplot2
  abstract: 'ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics'
  notes: Imports
  url: https://ggplot2.tidyverse.org
  repository: https://CRAN.R-project.org/package=ggplot2
  authors:
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
    orcid: https://orcid.org/0000-0003-4757-117X
  - family-names: Chang
    given-names: Winston
    orcid: https://orcid.org/0000-0002-1576-2126
  - family-names: Henry
    given-names: Lionel
  - family-names: Pedersen
    given-names: Thomas Lin
    email: thomas.pedersen@posit.co
    orcid: https://orcid.org/0000-0002-5147-4711
  - family-names: Takahashi
    given-names: Kohske
  - family-names: Wilke
    given-names: Claus
    orcid: https://orcid.org/0000-0002-7470-9261
  - family-names: Woo
    given-names: Kara
    orcid: https://orcid.org/0000-0002-5125-4188
  - family-names: Yutani
    given-names: Hiroaki
    orcid: https://orcid.org/0000-0002-3385-7233
  - family-names: Dunnington
    given-names: Dewey
    orcid: https://orcid.org/0000-0002-9415-4582
  year: '2023'
- type: software
  title: magrittr
  abstract: 'magrittr: A Forward-Pipe Operator for R'
  notes: Imports
  url: https://magrittr.tidyverse.org
  repository: https://CRAN.R-project.org/package=magrittr
  authors:
  - family-names: Bache
    given-names: Stefan Milton
    email: stefan@stefanbache.dk
  - family-names: Wickham
    given-names: Hadley
    email: hadley@rstudio.com
  year: '2023'
- type: software
  title: rlang
  abstract: 'rlang: Functions for Base Types and Core R and ''Tidyverse'' Features'
  notes: Imports
  url: https://rlang.r-lib.org
  repository: https://CRAN.R-project.org/package=rlang
  authors:
  - family-names: Henry
    given-names: Lionel
    email: lionel@posit.co
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
  year: '2023'
- type: software
  title: sf
  abstract: 'sf: Simple Features for R'
  notes: Imports
  url: https://r-spatial.github.io/sf/
  repository: https://CRAN.R-project.org/package=sf
  authors:
  - family-names: Pebesma
    given-names: Edzer
    email: edzer.pebesma@uni-muenster.de
    orcid: https://orcid.org/0000-0001-8049-7069
  year: '2023'
- type: software
  title: tidyr
  abstract: 'tidyr: Tidy Messy Data'
  notes: Imports
  url: https://tidyr.tidyverse.org
  repository: https://CRAN.R-project.org/package=tidyr
  authors:
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
  - family-names: Vaughan
    given-names: Davis
    email: davis@posit.co
  - family-names: Girlich
    given-names: Maximilian
  year: '2023'
- type: software
  title: knitr
  abstract: 'knitr: A General-Purpose Package for Dynamic Report Generation in R'
  notes: Suggests
  url: https://yihui.org/knitr/
  repository: https://CRAN.R-project.org/package=knitr
  authors:
  - family-names: Xie
    given-names: Yihui
    email: xie@yihui.name
    orcid: https://orcid.org/0000-0003-0645-5666
  year: '2023'
- type: software
  title: igraph
  abstract: 'igraph: Network Analysis and Visualization'
  notes: Suggests
  url: https://r.igraph.org/
  repository: https://CRAN.R-project.org/package=igraph
  authors:
  - family-names: Csárdi
    given-names: Gábor
    email: csardi.gabor@gmail.com
    orcid: https://orcid.org/0000-0001-7098-9676
  - family-names: Nepusz
    given-names: Tamás
    email: ntamas@gmail.com
    orcid: https://orcid.org/0000-0002-1451-338X
  - family-names: Traag
    given-names: Vincent
    orcid: https://orcid.org/0000-0003-3170-3879
  - family-names: Horvát
    given-names: Szabolcs
    email: szhorvat@gmail.com
    orcid: https://orcid.org/0000-0002-3100-523X
  - family-names: Zanini
    given-names: Fabio
    email: fabio.zanini@unsw.edu.au
    orcid: https://orcid.org/0000-0001-7097-8539
  - family-names: Noom
    given-names: Daniel
  - family-names: Müller
    given-names: Kirill
    email: kirill@cynkra.com
    orcid: https://orcid.org/0000-0002-1416-3412
  year: '2023'
- type: software
  title: patchwork
  abstract: 'patchwork: The Composer of Plots'
  notes: Suggests
  url: https://patchwork.data-imaginist.com
  repository: https://CRAN.R-project.org/package=patchwork
  authors:
  - family-names: Pedersen
    given-names: Thomas Lin
    email: thomasp85@gmail.com
    orcid: https://orcid.org/0000-0002-5147-4711
  year: '2023'
- type: software
  title: rmarkdown
  abstract: 'rmarkdown: Dynamic Documents for R'
  notes: Suggests
  url: https://pkgs.rstudio.com/rmarkdown/
  repository: https://CRAN.R-project.org/package=rmarkdown
  authors:
  - family-names: Allaire
    given-names: JJ
    email: jj@posit.co
  - family-names: Xie
    given-names: Yihui
    email: xie@yihui.name
    orcid: https://orcid.org/0000-0003-0645-5666
  - family-names: Dervieux
    given-names: Christophe
    email: cderv@posit.co
    orcid: https://orcid.org/0000-0003-4474-2498
  - family-names: McPherson
    given-names: Jonathan
    email: jonathan@posit.co
  - family-names: Luraschi
    given-names: Javier
  - family-names: Ushey
    given-names: Kevin
    email: kevin@posit.co
  - family-names: Atkins
    given-names: Aron
    email: aron@posit.co
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
  - family-names: Cheng
    given-names: Joe
    email: joe@posit.co
  - family-names: Chang
    given-names: Winston
    email: winston@posit.co
  - family-names: Iannone
    given-names: Richard
    email: rich@posit.co
    orcid: https://orcid.org/0000-0003-3925-190X
  year: '2023'
- type: software
  title: testthat
  abstract: 'testthat: Unit Testing for R'
  notes: Suggests
  url: https://testthat.r-lib.org
  repository: https://CRAN.R-project.org/package=testthat
  authors:
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
  year: '2023'
  version: '>= 3.0.0'

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 311
  • Total Committers: 2
  • Avg Commits per committer: 155.5
  • Development Distribution Score (DDS): 0.003
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Nicolas Casajus n****s@g****m 310
Daniel S. Katz d****z@i****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 13
  • Total pull requests: 1
  • Average time to close issues: 17 days
  • Average time to close pull requests: 13 minutes
  • Total issue authors: 3
  • Total pull request authors: 1
  • Average comments per issue: 0.69
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ahasverus (11)
  • gsapijaszko (1)
  • Pentaonia (1)
Pull Request Authors
  • danielskatz (1)
Top Labels
Issue Labels
documentation (8) enhancement (2)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 219 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
cran.r-project.org: chessboard

Create Network Connections Based on Chess Moves

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 219 Last month
Rankings
Forks count: 21.3%
Stargazers count: 28.0%
Dependent packages count: 29.1%
Dependent repos count: 36.9%
Average: 40.3%
Downloads: 86.5%
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • dplyr * imports
  • ggplot2 * imports
  • magrittr * imports
  • parallel * imports
  • rlang * imports
  • sf * imports
  • tidyr * imports
  • knitr * suggests
  • patchwork * suggests
  • rmarkdown * suggests
  • rnaturalearth * suggests
  • rnaturalearthdata * suggests
  • rnaturalearthhires * suggests
  • sp * suggests
  • testthat >= 3.0.0 suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/draft-pdf.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/update-citation-cff.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite