rage
R tools for performing ageing focussed analyses using matrix population models.
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
2 of 124 committers (1.6%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (19.8%) to scientific vocabulary
Last synced: 7 months ago
·
JSON representation
Repository
R tools for performing ageing focussed analyses using matrix population models.
Basic Info
- Host: GitHub
- Owner: jonesor
- Language: R
- Default Branch: main
- Homepage: https://jonesor.github.io/Rage/
- Size: 6.32 MB
Statistics
- Stars: 12
- Watchers: 5
- Forks: 14
- Open Issues: 12
- Releases: 10
Created over 8 years ago
· Last pushed over 1 year ago
Metadata Files
Readme
Changelog
Codemeta
README.Rmd
---
output: github_document
---
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/"
)
```
# Rage
| Project | Main branch | Devel branch |
|----------|:--------------|:------------------------|
| [](https://www.gnu.org/licenses/gpl-3.0.html) | [](https://github.com/jonesor/Rage/actions) | [](https://github.com/jonesor/Rage/actions) |
| [](https://www.repostatus.org/#active) | [](https://app.codecov.io/gh/jonesor/Rage) | |
|  |[](https://cran.r-project.org/package=Rage)| |
|  | | |
-------
Functions for calculating life history metrics from matrix population models (MPMs).
Includes functions for:
- deriving life history traits
- deriving life tables or life table components
- deriving vital rates
- perturbation analyses
- manipulating and transforming MPMs
## Installation
Install the stable release package from CRAN with:
```{r, eval=FALSE}
install.packages("Rage")
```
Install from GitHub with:
```{r, eval=FALSE}
# install.packages("remotes")
remotes::install_github("jonesor/Rage")
```
### Usage
```{r}
library(Rage)
```
### Loading an example MPM
The functions in Rage work on MPMs (or components of MPMs), so we'll start by
loading one of the example MPMs included in the Rage package (`mpm1`).
```{r}
library(Rage) # load Rage
data(mpm1) # load data object 'mpm1'
mpm1
```
The object `mpm1` is a list containing two elements: the growth/survival
component of the MPM (the __U__ matrix), and the sexual reproduction component
(the __F__ matrix). We can obtain the full MPM by adding the two components
together (__A__ = __U__ + __F__).
### Deriving life history traits from an MPM
One of the most common arguments among functions in Rage is `start`, which is
used to specify the stage class that represents the 'beginning of life' for the
purposes of calculation. Because the first stage class in `mpm1` is a 'seed'
stage, which we might consider functionally-distinct from the 'above-ground'
stages, we'll specify `start = 2` to set our starting stage class of interest to
the 'small' stage.
```{r}
life_expect_mean(mpm1$matU, start = 2) # life expectancy
longevity(mpm1$matU, start = 2, lx_crit = 0.05) # longevity (age at lx = 0.05)
mature_age(mpm1$matU, mpm1$matF, start = 2) # mean age at first reproduction
mature_prob(mpm1$matU, mpm1$matF, start = 2) # prob survival to first repro
```
Some life history traits are independent of the starting stage class, in which
case we don't need to specify `start`.
```{r}
net_repro_rate(mpm1$matU, mpm1$matF) # net reproductive rate
gen_time(mpm1$matU, mpm1$matF) # generation time
```
Some life history traits are calculated from a life table rather than an MPM. For example,
traits like entropy (`entropy_k_stage`) and shape measures (`shape_surv`, `shape_rep`) etc.
In these cases, the calculation of age trajectories (lx and or mx trajectories) is handled
internally. Nevertheless, it can still be useful to obtain the trajectories directly,
in which case we can first use the `mpm_to_` group of functions.
```{r}
# first derive age-trajectories of survivorship (lx) and fecundity (mx)
lx <- mpm_to_lx(mpm1$matU, start = 2)
mx <- mpm_to_mx(mpm1$matU, mpm1$matF, start = 2)
```
### Life tables and the quasi-stationary distribution
Some MPMs are parameterized with a stasis loop at the maximum stage class, which
can lead to apparent plateaus in mortality or fertility trajectories derived
using age-from-stage methods. The function `qsd_converge()` can be used to
identify the time it takes for a cohort to reach the quasi-stationary
distribution (QSD). This quantity can then be used to subset age trajectories of
mortality or fertility to periods earlier than the QSD, so as to avoid
artefactual plateaus in mortality or fertility.
```{r, warning=FALSE, message=FALSE, fig.width=6.5, fig.height=4,cache=FALSE}
# derive life table from MPM
lt <- mpm_to_table(mpm1$matU, start = 2)
# calculate time to QSD
(q <- qsd_converge(mpm1$matU, start = 2))
# plot mortality trajectory w/ vertical line at time to QSD
par(mar = c(4.5, 4.5, 1, 1))
plot(qx ~ x, data = lt, type = "l", ylim = c(0, 0.65))
abline(v = q, lty = 2)
```
From the life table derived from `mpm1`, we can see a plateau in the mortality
rate (qx) beginning around age 5. However, this plateau corresponds to the QSD
and is therefore probably an artefact of the stasis loop rather than a
biological reality for the population represented by `mpm1`.
One approach to accounting for this artefactual plateau in subsequent life
history calculations is to limit our life table to the period prior to the QSD.
```{r}
# calculate the shape of the survival/mortality trajectory
shape_surv(lt$lx) # based on full lx trajectory
shape_surv(lt$lx[1:q]) # based on lx trajectory prior to the QSD
```
### Standardized vital rates
The transition rates that make up MPMs generally reflect products of two or more
vital rates (sometimes called ‘lower-level vital rates’). Assuming a
post-breeding census design, we can retroactively break apart each transition
rate into at least two vital rate components: survival, and ‘something’
conditional on survival. That ‘something’ might be growth, shrinkage, stasis,
dormancy, fecundity, or clonality.
##### Stage-specific vital rates (vector)
To summarize vital rates _within_ stage classes, we can use the `vr_vec_` group
of functions. We'll use the `exclude` argument here to exclude certain stage
classes ('seed' and 'dormant') from the calculation of certain vital rates (e.g.
we don't consider the large-to-dormant transition to actually represent
'growth').
```{r}
vr_vec_survival(mpm1$matU)
vr_vec_growth(mpm1$matU, exclude = c(1, 5))
vr_vec_shrinkage(mpm1$matU, exclude = 5)
vr_vec_stasis(mpm1$matU)
vr_vec_dorm_enter(mpm1$matU, dorm_stages = 5)
vr_vec_dorm_exit(mpm1$matU, dorm_stages = 5)
vr_vec_reproduction(mpm1$matU, mpm1$matF)
```
##### MPM-specific vital rates (scalar)
To summarize vital rates _across_ stage classes, we can use the `vr_` group of
functions. By default these functions take a simple average of the
stage-specific vital rates produced by the corresponding `vr_vec_` function.
However, here we'll demonstrate how to specify a _weighted_ average across
stages, based on the stable stage distribution at equilibrium (_w_).
```{r}
# derive full MPM (matA)
mpm1$matA <- mpm1$matU + mpm1$matF
# calculate stable stage distribution at equilibrium using popdemo::eigs
library(popdemo)
w <- popdemo::eigs(mpm1$matA, what = "ss")
# calculate MPM-specific vital rates
vr_survival(mpm1$matU, exclude_col = c(1, 5), weights_col = w)
vr_growth(mpm1$matU, exclude = c(1, 5), weights_col = w)
vr_shrinkage(mpm1$matU, exclude = c(1, 5), weights_col = w)
vr_stasis(mpm1$matU, exclude = c(1, 5), weights_col = w)
vr_dorm_enter(mpm1$matU, dorm_stages = 5, weights_col = w)
vr_dorm_exit(mpm1$matU, dorm_stages = 5, weights_col = w)
vr_fecundity(mpm1$matU, mpm1$matF, weights_col = w)
```
Note how we've chosen to exclude the 'seed' and 'dormant' stage classes from our
vital rate summaries, because we consider these to be special classes (e.g.
'growth' from the 'seed' stage is really 'germination', which we may think of as
separate from somatic growth from 'small' to 'medium', or 'medium' to 'large').
### Perturbation analyses
The `perturb_matrix()` function measures the response of a demographic statistic
to perturbation of individual matrix elements (i.e. sensitivities and
elasticities). The `perturb_vr()` and `perturb_trans()` functions implement
perturbation analyses by vital rate type (survival, growth, etc.) and transition
type (stasis, retrogression, etc.), respectively.
```{r}
# matrix element perturbation
perturb_matrix(mpm1$matA, type = "sensitivity")
# vital rate perturbation
# (we use as.data.frame here for prettier printing)
as.data.frame(perturb_vr(mpm1$matU, mpm1$matF, type = "sensitivity"))
# transition type perturbation
as.data.frame(perturb_trans(mpm1$matU, mpm1$matF, type = "sensitivity"))
```
### Transforming MPMs
Rage includes a variety of functions that can be used to manipulate or transform
MPMs. For example, we can collapse an MPM to a smaller number of stage classes
using `mpm_collapse()`.
```{r}
# collapse 'small', 'medium', and 'large' stages into single stage class
col1 <- mpm_collapse(mpm1$matU, mpm1$matF, collapse = list(1, 2:4, 5))
col1$matA
```
The transition rates in the collapsed matrix are a weighted average of the
transition rates from the relevant stages of the original matrix, weighted by
the stable distribution at equilibrium. This process guarantees that the
collapsed MPM will retain the same population growth rate as the original.
However, other demographic and life history characteristics will not necessarily
be preserved.
```{r}
# compare population growth rate of original and collapsed MPM (preserved)
popdemo::eigs(mpm1$matA, what = "lambda")
popdemo::eigs(col1$matA, what = "lambda")
# compare net reproductive rate of original and collapsed MPM (not preserved)
net_repro_rate(mpm1$matU, mpm1$matF)
net_repro_rate(col1$matU, col1$matF)
```
For a complete list of functions see the package [Reference](https://jonesor.github.io/Rage/reference/index.html) page.
## Previous releases
Specific earlier releases of this package can be installed using the appropriate `@` tag.
For example to install version 1.0.0:
```{r, eval=FALSE}
remotes::install_github("jonesor/Rage@v1.0.0")
```
See the Changelog for more details.
## Citation
Jones, O. R., Barks, P., Stott, I., James, T. D., Levin, S., Petry, W. K., Capdevila, P., Che-Castaldo, J., Jackson, J., Römer, G., Schuette, C., Thomas, C. C., & Salguero-Gómez, R. (2022). `Rcompadre` and `Rage`—Two R packages to facilitate the use of the COMPADRE and COMADRE databases and calculation of life-history traits from matrix population models. _Methods in Ecology and Evolution_, 13, 770–781. \doi{doi:10.1111/2041-210X.13792}
## Contributions
All contributions are welcome. Please note that this project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). By participating in this project you agree to abide by its terms.
There are numerous ways of contributing.
1. You can submit bug reports, suggestions etc. by [opening an issue](https://github.com/jonesor/Rage/issues).
2. You can copy or fork the repository, make your own code edits and then send us a pull request. [Here's how to do that](https://jarv.is/notes/how-to-pull-request-fork-github/).
3. You can get to know us and join as a collaborator on the main repository.
4. You are also welcome to email us.
Owner
- Name: Owen Jones
- Login: jonesor
- Kind: user
- Location: Odense, Denmark
- Company: University of Southern Denmark
- Website: https://ecoevo.social/@jonesor
- Twitter: jonesor
- Repositories: 24
- Profile: https://github.com/jonesor
I'm an Associate Professor working on life history evolution, senescence/aging and population dynamics at the University of Southern Denmark.
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"identifier": "Rage",
"description": "Functions for calculating life history metrics using matrix population models ('MPMs'). Described in Jones et al. (2021) <doi:10.1101/2021.04.26.441330>.",
"name": "Rage: Life History Metrics from Matrix Population Models",
"codeRepository": "https://github.com/jonesor/Rage",
"issueTracker": "https://github.com/jonesor/Rage/issues",
"license": "https://spdx.org/licenses/GPL-3.0",
"version": "1.8.0",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
"url": "https://r-project.org"
},
"runtimePlatform": "R version 4.4.2 (2024-10-31)",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"author": [
{
"@type": "Person",
"givenName": "Patrick",
"familyName": "Barks",
"email": "barks@biology.sdu.dk",
"@id": "https://orcid.org/0000-0002-5947-8151"
},
{
"@type": "Person",
"givenName": "Pol",
"familyName": "Capdevila",
"email": "pcapdevila.pc@gmail.com",
"@id": "https://orcid.org/0000-0002-2842-4302"
},
{
"@type": "Person",
"givenName": "Hal",
"familyName": "Caswell",
"email": "h.caswell@uva.nl",
"@id": "https://orcid.org/0000-0003-4394-6894"
},
{
"@type": "Person",
"givenName": [
"Judy",
"P."
],
"familyName": "Che-Castaldo",
"email": "jchecastaldo@lpzoo.org",
"@id": "https://orcid.org/0000-0002-9118-9202"
},
{
"@type": "Person",
"givenName": [
"Richard",
"A."
],
"familyName": "Hinrichsen",
"email": "rich@hinrichsenenvironmental.com",
"@id": "https://orcid.org/0000-0003-0761-3005"
},
{
"@type": "Person",
"givenName": "John",
"familyName": "Jackson",
"email": "jjackson0308@gmail.com",
"@id": "https://orcid.org/0000-0002-4563-2840"
},
{
"@type": "Person",
"givenName": "Tamora",
"familyName": "James",
"email": "tamoradjames@protonmail.com",
"@id": "https://orcid.org/0000-0003-1363-4742"
},
{
"@type": "Person",
"givenName": "Owen",
"familyName": "Jones",
"email": "jones@biology.sdu.dk",
"@id": "https://orcid.org/0000-0001-5720-4686"
},
{
"@type": "Person",
"givenName": "Sam",
"familyName": "Levin",
"email": "levisc8@gmail.com",
"@id": "https://orcid.org/0000-0002-3289-9925"
},
{
"@type": "Person",
"givenName": "William K.",
"familyName": "Petry",
"email": "wpetry@ncsu.edu",
"@id": "https://orcid.org/0000-0002-5230-5987"
},
{
"@type": "Person",
"givenName": "Roberto",
"familyName": "Salguero-Gomez",
"email": "rob.salguero@zoo.ox.ac.uk",
"@id": "https://orcid.org/0000-0002-6085-4433"
},
{
"@type": "Person",
"givenName": "Iain",
"familyName": "Stott",
"email": "stott@biology.sdu.dk",
"@id": "https://orcid.org/0000-0003-2724-7436"
},
{
"@type": "Person",
"givenName": [
"Chelsea",
"C."
],
"familyName": "Thomas",
"email": "esochels@gmail.com",
"@id": "https://orcid.org/0000-0002-8155-9353"
},
{
"@type": "Person",
"givenName": [
"Christina",
"M."
],
"familyName": "Hernández",
"email": "cmh352@cornell.edu",
"@id": "https://orcid.org/0000-0002-7188-8217"
},
{
"@type": "Person",
"givenName": "Lotte",
"familyName": "de Vries",
"email": "c.devries@uva.nl",
"@id": "https://orcid.org/0000-0001-8955-0479"
},
{
"@type": "Person",
"givenName": "Stefano",
"familyName": "Giaimo",
"email": "giaimo@evolbio.mpg.de",
"@id": "https://orcid.org/0000-0003-0421-3065"
}
],
"contributor": [
{
"@type": "Person",
"givenName": "Danny",
"familyName": "Buss",
"email": "dlb50@cam.ac.uk"
},
{
"@type": "Person",
"givenName": "Caroline",
"familyName": "Schuette",
"email": "cschuette17@gmail.com",
"@id": "https://orcid.org/0000-0002-2063-8736"
}
],
"maintainer": [
{
"@type": "Person",
"givenName": "Owen",
"familyName": "Jones",
"email": "jones@biology.sdu.dk",
"@id": "https://orcid.org/0000-0001-5720-4686"
}
],
"softwareSuggestions": [
{
"@type": "SoftwareApplication",
"identifier": "ggplot2",
"name": "ggplot2",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=ggplot2"
},
{
"@type": "SoftwareApplication",
"identifier": "knitr",
"name": "knitr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=knitr"
},
{
"@type": "SoftwareApplication",
"identifier": "Rcompadre",
"name": "Rcompadre",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=Rcompadre"
},
{
"@type": "SoftwareApplication",
"identifier": "rmarkdown",
"name": "rmarkdown",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rmarkdown"
},
{
"@type": "SoftwareApplication",
"identifier": "spelling",
"name": "spelling",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=spelling"
},
{
"@type": "SoftwareApplication",
"identifier": "testthat",
"name": "testthat",
"version": ">= 3.0.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=testthat"
}
],
"softwareRequirements": {
"1": {
"@type": "SoftwareApplication",
"identifier": "R",
"name": "R",
"version": ">= 3.5.0"
},
"2": {
"@type": "SoftwareApplication",
"identifier": "DiagrammeR",
"name": "DiagrammeR",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=DiagrammeR"
},
"3": {
"@type": "SoftwareApplication",
"identifier": "expm",
"name": "expm",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=expm"
},
"4": {
"@type": "SoftwareApplication",
"identifier": "MASS",
"name": "MASS",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=MASS"
},
"5": {
"@type": "SoftwareApplication",
"identifier": "popdemo",
"name": "popdemo",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=popdemo"
},
"6": {
"@type": "SoftwareApplication",
"identifier": "stats",
"name": "stats"
},
"7": {
"@type": "SoftwareApplication",
"identifier": "utils",
"name": "utils"
},
"SystemRequirements": null
},
"fileSize": "559.03KB",
"citation": [
{
"@type": "ScholarlyArticle",
"datePublished": "2022",
"author": [
{
"@type": "Person",
"givenName": [
"Owen",
"R."
],
"familyName": "Jones"
},
{
"@type": "Person",
"givenName": "Patrick",
"familyName": "Barks"
},
{
"@type": "Person",
"givenName": [
"Iain",
"M."
],
"familyName": "Stott"
},
{
"@type": "Person",
"givenName": [
"Tamora",
"D."
],
"familyName": "James"
},
{
"@type": "Person",
"givenName": [
"Sam",
"C."
],
"familyName": "Levin"
},
{
"@type": "Person",
"givenName": [
"William",
"K."
],
"familyName": "Petry"
},
{
"@type": "Person",
"givenName": "Pol",
"familyName": "Capdevila"
},
{
"@type": "Person",
"givenName": "Judy",
"familyName": "Che-Castaldo"
},
{
"@type": "Person",
"givenName": "John",
"familyName": "Jackson"
},
{
"@type": "Person",
"givenName": "Gesa",
"familyName": "Römer"
},
{
"@type": "Person",
"givenName": "Caroline",
"familyName": "Schuette"
},
{
"@type": "Person",
"givenName": [
"Chelsea",
"C"
],
"familyName": "Thomas"
},
{
"@type": "Person",
"givenName": "Roberto",
"familyName": "Salguero-Gómez"
}
],
"name": "Rcompadre and Rage - two {R} packages to facilitate the use of\n the {COMPADRE} and {COMADRE} databases and calculation of life\n history traits from matrix population models",
"identifier": "10.1111/2041-210X.13792",
"pagination": "770-781",
"@id": "https://doi.org/10.1111/2041-210X.13792",
"sameAs": "https://doi.org/10.1111/2041-210X.13792",
"isPartOf": {
"@type": "PublicationIssue",
"datePublished": "2022",
"isPartOf": {
"@type": [
"PublicationVolume",
"Periodical"
],
"volumeNumber": "13",
"name": "Methods in Ecology and Evolution"
}
}
}
],
"releaseNotes": "https://github.com/jonesor/Rage/blob/master/NEWS.md",
"contIntegration": [
"https://github.com/jonesor/Rage/actions",
"https://github.com/jonesor/Rage/actions",
"https://app.codecov.io/gh/jonesor/Rage"
],
"developmentStatus": "https://www.repostatus.org/#active",
"relatedLink": "https://CRAN.R-project.org/package=Rage"
}
GitHub Events
Total
- Issues event: 1
- Watch event: 2
- Delete event: 1
- Push event: 9
- Pull request event: 2
- Create event: 1
Last Year
- Issues event: 1
- Watch event: 2
- Delete event: 1
- Push event: 9
- Pull request event: 2
- Create event: 1
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Owen Jones | j****s@b****k | 295 |
| patrickbarks | p****s@g****m | 158 |
| Owen Jones | j****r@g****m | 143 |
| wpetry | w****y | 33 |
| levisc8 | l****8@g****m | 23 |
| Rob Salguero-Gomez | r****o@u****u | 14 |
| Tamora James | t****s@p****m | 12 |
| Iain | i****t@g****m | 11 |
| Pol Capdevila | 1****p | 8 |
| Rob Salguero-Gomez | r****o@z****k | 7 |
| John Jackson | j****8@g****m | 7 |
| Cameron C. Thomas | 3****s | 3 |
| bartholdja | j****s@g****m | 3 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| runner | r****r@M****l | 1 |
| and 94 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 50
- Total pull requests: 58
- Average time to close issues: 6 months
- Average time to close pull requests: 1 day
- Total issue authors: 7
- Total pull request authors: 5
- Average comments per issue: 1.76
- Average comments per pull request: 0.24
- Merged pull requests: 56
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 7 minutes
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jonesor (30)
- wpetry (9)
- patrickbarks (6)
- ellner (2)
- iainmstott (2)
- PolCap (1)
- RobSalGo (1)
Pull Request Authors
- jonesor (44)
- wpetry (9)
- tdjames1 (3)
- PolCap (1)
- jchecastaldo (1)
Top Labels
Issue Labels
enhancement (13)
devel-resolved (9)
help wanted (6)
bug (1)
question (1)
wontfix (1)
Pull Request Labels
enhancement (1)
Packages
- Total packages: 1
-
Total downloads:
- cran 749 last-month
- Total dependent packages: 1
- Total dependent repositories: 1
- Total versions: 9
- Total maintainers: 1
cran.r-project.org: Rage
Life History Metrics from Matrix Population Models
- Homepage: https://github.com/jonesor/Rage
- Documentation: http://cran.r-project.org/web/packages/Rage/Rage.pdf
- License: GPL-3
-
Latest release: 1.8.0
published about 1 year ago
Rankings
Forks count: 4.9%
Downloads: 15.2%
Stargazers count: 17.5%
Average: 18.1%
Dependent repos count: 24.6%
Dependent packages count: 28.3%
Maintainers (1)
Last synced:
about 1 year ago
Dependencies
DESCRIPTION
cran
- R >= 3.5.0 depends
- DiagrammeR * imports
- MASS * imports
- Rcompadre * imports
- popdemo * imports
- covr * suggests
- ggplot2 * suggests
- knitr * suggests
- rmarkdown * suggests
- spelling * suggests
- testthat * suggests
.github/workflows/R-CMD-check-devel.yaml
actions
- actions/checkout v3 composite
- actions/upload-artifact main 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/R-CMD-check-main.yaml
actions
- actions/checkout v3 composite
- actions/upload-artifact main 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