sticsonr

A Package to control STICS from R

https://github.com/sticsrpacks/sticsonr

Science Score: 54.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
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A Package to control STICS from R

Basic Info
Statistics
  • Stars: 6
  • Watchers: 2
  • Forks: 4
  • Open Issues: 9
  • Releases: 13
Created about 7 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License Code of conduct Citation

README.Rmd

---
title: "SticsOnR"
output:
  github_document:
   html_preview: true
params:
  javastics_dist: 'JavaSTICS-1.5.3-STICS-10.3.0'
  java_cmd: 'java'
  root_path: '/home/plecharpent/tmp'
  work_dir: 'example'
  windows: !r Sys.info()[['sysname']]=='Windows'
---


```{r setup, echo = FALSE, warning=FALSE}
suppressPackageStartupMessages(library(SticsRFiles))
suppressPackageStartupMessages(library(SticsOnR))
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-"
)
options(tibble.print_min = 5, tibble.print_max = 5)

javastics_dist <- params$javastics_dist
root_path <- normalizePath(params$root_path, winslash = "/")
javastics_path <- file.path(root_path, params$javastics_dist)
workspace_path <- file.path(javastics_path, params$work_dir)
output_path <- file.path(root_path, "gen_usms_xml2txt")


windows <- params$windows
linux <- !windows

java_cmd <- "java"
if (linux) {
  java_cmd <- normalizePath(params$java_cmd, winslash = "/")
}
```

```{r error=FALSE, echo=FALSE, results='hide'}
# For testing consistency between JavaSTICS and java version

# Adding a test to see if javastics is compatible with java version
res <- try(
  run_javastics(javastics_path,
    workspace_path,
    usm = "wheat", verbose = FALSE,
    java_cmd = java_cmd
  ),
  silent = TRUE
)


try_err <- attr(res, "class")


if (!is.null(try_err) && attr(try_err, "class") == "try-error") {
  ver <- system2(
    command = "java", args = "-version",
    stdout = TRUE, stderr = TRUE
  )
  stop(
    javastics_dist, ": javastics not compatible with java\n",
    ver[1],
    paste0(
      "\nA java path must be provided for a ",
      "compatible java version (11) to run_javastics"
    )
  )
}
```

The R package for the [STICS](https://stics.inrae.fr/eng) model logo


[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![R build status](https://github.com/SticsRPacks/SticsOnR/workflows/R-CMD-check/badge.svgbadge.svg?branch=main)](https://github.com/SticsRPacks/SticsOnR/actions)
[![Codecov test coverage](https://codecov.io/gh/SticsRPacks/SticsOnR/branch/main/graph/badge.svg)](https://app.codecov.io/gh/SticsRPacks/SticsOnR?branch=main)
[![DOI](https://zenodo.org/badge/166790380.svg)](https://zenodo.org/badge/latestdoi/166790380)


The goal of SticsOnR is to perform simulations of the Stics model, downloadable with its graphical user interface from https://stics.inrae.fr/eng/download.

If you want to be notified when a new release of this package is made, you can tick the Releases box in the "Watch / Unwatch => Custom" menu at the top right of [this page](https://github.com/SticsRPacks/SticsOnR).


## Prerequisites and technical tips

### JavaStics software

JavaStics must be installed and the minimal version is version 1.41.

The latest distribution version for Stics is downloadable [here](https://stics.inrae.fr/eng/download).

The installation process only consists of unzipping the JavaStics archive, except for MacOS system  (see MacOS installation [specificities](#under-macos-systems))

### Under the Windows operating system

Be aware that the java virtual machine does not need to be installed to use the
JavaSTICS software, neither the graphical interface (`JavaStics.exe`) nor the command line interface (`JavaSticsCmd.exe`). Because, a Java machine is embedded in the JavaStics archive.

### Under linux operating systems

#### Java version

For using the JavaStics software (GUI and command line interface) under a `linux` operating system, the java version must be consistent with the JavaStics version

* for JavaStics 1.41, the java version must be at most a Java 8 version
* for JavaStics 1.5.0/1.5.1 versions, the java version must be at least a Java 11 version
* for JavaStics 1.5.2/1.5.3 versions, the java version must be at least a Java 17 version 

So, for adapting the java version to the JavaStics version some manipulations must be done either by switching between versions through system commands [see here](https://sticsrpacks.github.io/SticsOnR/articles/Changing_java_version_linux.html), using a specific java executable path ([see running JavaStics](#javastics-command-line-interface)).


#### System libraries
For the linux operating system, the SticsOnR package may require to install an `xslt` library.

If the SticsOnR installation fails, and the `xslt` library is missing, the error message indicates what is the name of the xslt library to be installed (according to the common linux distributions). For example, for the Ubuntu or Debian OS `libxslt1-dev` must be installed.

### Under MacOS systems
The STICS executable must be compiled and imported in the JavaStics directory. The procedure is fully described
in the JavaStics documentation (see JavaStics_documentation.html under the doc folder), in the prerequisites sub-section under the Software section. Java version installation management is also described in it.

### Files/directories paths syntax
Under all systems, file paths must not contain any special character or space.

Under unix like systems, using the `~` in files or directories paths may cause errors in SticsOnR functions. So, it is safer for the moment to use absolute paths. This will be fixed in the future versions.

#### Remote installation tools

For installing packages from the Github site an additional package must be installed. One can use either `devtools` or [`remotes`](https://github.com/r-lib/remotes#readme)

For `devtools`, installation requires system dependent tools. They must be installed first.

* For Windows
RTools must be installed using the latest installer from  [here](https://cran.r-project.org/bin/windows/Rtools/)
* For linux
Development tools must be installed first, like the `build-essentials` package for a Debian like distribution for example.

Then the `devtools` package can be installed using:

```{r eval=FALSE}
install.packages("devtools")
```

For `remotes`, it can be directly installed using:

```{r eval=FALSE}
install.packages("remotes")
```


## Installation

### Recommended installation: `SticsRPacks`

The best way to install the packages from `SticsRPacks`, from which `SticsOnR` is part of, is by installing the `[SticsRPacks]` package:

```{r eval=FALSE}
devtools::install_github("SticsRPacks/SticsRPacks")
```

- With `remotes`

```{r eval=FALSE}
remotes::install_github("SticsRPacks/SticsRPacks")
```

The package will install the packages for you at the latest release version.

### Other way: install each package independently

#### SticsOnR

The package installation can be remotely done directly from [GitHub](https://github.com/) using either `devtools` or the lightweight `remote` one package

The latest release version can be installed using:

- With `devtools`

```{r eval=FALSE}
devtools::install_github("SticsRPacks/SticsOnR@*release")
```

- With `remotes`

```{r eval=FALSE}
remotes::install_github("SticsRPacks/SticsOnR@*release")
```

Normally, all the package dependencies will be installed for CRAN packages.

#### SticsRFiles

`SticsRFiles` must be installed manually using the above syntax, just replacing  **SticsOnR** with **SticsRFiles**.

## Loading the packages library
```{r lib_load}
library(SticsOnR)
library(SticsRFiles)
```


## Running the model

Here are basic examples which show you how to run the model either from a R model interface or a JavaStics (command line) one. More complete examples will be detailed in a specific documentation later.

### JavaStics command line interface

The JavaStics installation folder (for example, `r javastics_dist`) contains an `example` workspace folder with a set of runnable usms.


For running simulations from it, we can use the `run_javastics()` function.


* Specifying the JavaStics folder   
javastics_path <- `r paste0('/path/to/',javastics_dist)`
* Specifying a workspace * as a sub-folder of JavaStics
workspace_path <- "example"
* or an absolute path to an external folder
workspace_path <- "/path/to/javastics/workspace"
```{r eval = windows, echo = TRUE, include = TRUE} ########## For Windows or linux with a compatible java version ################ # Running specific usms from the workspace run_javastics(javastics_path, workspace_path, usm = c("banana", "wheat"), verbose = FALSE ) # Running all usms contained in the workspace run_javastics(javastics_path, workspace_path, verbose = FALSE ) # Getting information about execution: runs_info <- run_javastics(javastics_path, workspace_path, usm = c("banana", "wheat"), verbose = FALSE ) runs_info ``` * For linux systems, if the java version is not compatible with the JavaStics version a compatible java executable path must be used
java_cmd <- "/path/to/java/exe"
```{r eval = linux, echo = TRUE, include = TRUE} ################ Only for linux with a specific java executable################ # Running specific usms from the workspace run_javastics(javastics_path, workspace_path, usm = c("banana", "wheat"), verbose = FALSE, java_cmd = java_cmd ) # Running all usms contained in the workspace run_javastics(javastics_path, workspace_path, verbose = FALSE, java_cmd = java_cmd ) # Getting information about execution: runs_info <- run_javastics(javastics_path, workspace_path, usm = c("banana", "wheat"), verbose = FALSE, java_cmd = java_cmd ) runs_info ``` In the returned information, the error field name gives a list of messages from the JavaStics command line interface. If any `Error` key word appears in a message, the corresponding simulation failed. But, at the moment it is impossible to identify what is the error's origin. Things must be checked manually in the workspace, after running again the faulty usm (because the model input files are overwritten at each usms simulation). ### Running the model using the stics executable directly We need for that a JavaStics folder and a directory with text input files for Stics, or a folder containing individual sub-directories for usms. These directories can be generated using the `[SticsRFiles::gen_usms_xml2txt()]` function from the **SticsRFiles** package, by converting automatically XML files to Stics input text files. See the documentation [here](https://sticsrpacks.github.io/SticsRFiles/articles/Generating_Stics_text_files.html). Example of use: ```{r eval = windows, echo = TRUE} # For Windows # Generating files for all the usms contained in the workspace SticsRFiles::gen_usms_xml2txt(javastics_path, workspace = workspace_path, out_dir = output_path, verbose = FALSE ) ``` ```{r eval = linux, echo = TRUE} # For linux, using a specific java executable # Generating files for all the usms contained in the workspace SticsRFiles::gen_usms_xml2txt(javastics_path, workspace = workspace_path, out_dir = output_path, verbose = FALSE, java_cmd = java_cmd ) ``` ```{r, echo=F, results='hide', eval = TRUE} unlink(x = file.path(output_path, "intercrop_pea_barley"), recursive = TRUE) ``` The `run_stics()` function can be used as follows with one folder or multiple sub-folders. The Stics executable path is set according to each operating system: * for windows
stics_path <- file.path(javastics_path,"bin","stics_modulo.exe")
* for linux
stics_path <- file.path(javastics_path,"bin","stics_modulo")
* for Mac
stics_path <- file.path(javastics_path,"bin","stics_modulo_mac")
```{r run_stics_int, echo = FALSE, results='hide'} # Specifying the Stics executable file path stics_path <- file.path(javastics_path, "bin", "stics_modulo.exe") # for linux if (is_unix()) { stics_path <- file.path(javastics_path, "bin", "stics_modulo") } ``` ```{r run_stics} # Specifying a directory containing Stics input files # For example reusing a generated sub-directory in the previous section # of the document # Running one usm files_dir_path <- file.path(output_path, "banana") run_stics(stics_path, files_dir_path) # Specifying a root directory containing usms individual directories # For example reusing a generated directory in the previous section # of the document # Running two usms run_stics(stics_path, output_path, usm = c("banana", "wheat")) # Running all the usms defined in the sub-directories of output_path run_stics(stics_path, output_path, usm = "all") # Getting returned information about stics runs runs_info <- run_stics(stics_path, output_path, usm = c("banana", "wheat")) runs_info ``` ### Advanced simulations parameterization A specific function `stics_wrapper()` is dedicated to manage simulations with a higher level of parameterization than what `run_stics()` offers. This `stics_wrapper()` function allows: - Forcing the values of a set of parameters (common or specific values per USM) - Returning simulated daily outputs for each usm with possible dates and variables filtering - Parallelizing simulations, and displaying execution time - Run Usms in successive mode As the `run_stics()` function, the `stics_wrapper()` operates on directories containing text stics input files. #### Defining simulations options Simulation options can be fixed using the `stics_wrapper_options()` function. Both of them are mandatory: the model executable path and the directory path containing usms sub-directories with text input files. A template is returned by the function when called with no arguments: ```{r} stics_wrapper_options() ``` For the example, we will use the default stics model version shipping with JavaStics and the directory where individual usms input directories have been generated: ```{r eval=FALSE} sim_options <- stics_wrapper_options( javastics = javastics_path, workspace = output_path, verbose = FALSE ) ``` By default, `stics_wrapper_options()` checks that `javastics`, `stics_exe` and `workspace` exists. There are different solutions if you need to use a custom version of stics: 1. if it is already listed in the preference (e.g. added in JavaStics), simply provide its name (ID): ```{r, eval=FALSE} sim_options <- stics_wrapper_options( javastics = javastics_path, stics_exe = "stics_custom", workspace = output_path, verbose = FALSE ) ``` 2. if it is located in the bin directory of the JavaStics installation directory, provide the executable name: ```{r, eval=FALSE} sim_options <- stics_wrapper_options( javastics = javastics_path, stics_exe = "stics_custom.exe", workspace = output_path, verbose = FALSE ) ``` 3. if it is located in any other folder, provide the full path to the executable name, and no need to use `javastics_path`: ```{r, eval=FALSE} sim_options <- stics_wrapper_options( stics_exe = "path/to/stics_custom.exe", workspace = output_path, verbose = FALSE ) ``` #### Simple simulations cases - Without filtering usms or outputs ```{r, eval=FALSE} results <- stics_wrapper(model_options = sim_options) ``` - Filtering on usms list ```{r, eval=FALSE} usm <- c("wheat", "maize") results <- stics_wrapper(model_options = sim_options, situation = usm) ``` - Filtering outputs on variables ```{r, eval=FALSE} usm <- c("wheat", "maize") stics_wrapper( model_options = sim_options, situation = usm, var = c("masec_n", "mafruit") ) ``` - Filtering outputs on variables and dates for several USMs The argument `sit_var_dates_mask` must contain a named list (named by usms names) containing data.frames, as the sim_list element of the list returned by stics\_wrapper (see here-after) or as observations data. It defines a mask: stics\_wrapper will return a result for each USM, variable and date that contains at least a value (*i.e.* different from NA) in the mask. The stics\_wrapper function returns a list that contains two elements: - error, a boolean indicating if an error occurs during the simulations, - sim\_list, a named list of data.frames containing the simulated values for the requested USMs, variables and dates. ```{r} obs_list <- get_obs( workspace = workspace_path, usm = c("wheat", "maize"), verbose = FALSE ) # Observations table for wheat obs_list$wheat sim_options <- stics_wrapper_options( javastics = javastics_path, workspace = output_path, verbose = TRUE ) results <- stics_wrapper( model_options = sim_options, sit_var_dates_mask = obs_list ) head(results) ``` Some warnings may occur, as in this case (that is why `results$error` is TRUE), indicating that observed variables and/or observations dates are missing in simulated data. Concerning the dates, this may be due to the USMs simulation period that may not include observed dates. For the variables, this may be due to an incorrect spelling of the variables in obs\_list. #### Simulations with forcing parameters - Applying a single parameter values vector for all the selected usms Parameters values are prescribed using the `param_values` argument. It can be a named vector containing the values and names of the parameters to force. In this case, the same values will be applied for all the simulated usms. ```{r, eval=FALSE} param_values <- c(0.002, 50) names(param_values) <- c("dlaimax", "durvieF") results <- stics_wrapper( model_options = sim_options, situation = usm, param_values = param_values ) ``` - Defining different parameters values depending on the usms `param_values` can also be a data.frame or a tibble having one named column per parameter and an optional column named `situation` containing the name of the situations (USMs for Stics) that allows to define different values of the parameters for different situations. ```{r} # Let's run usm wheat with c(dlaimax=0.001, durvieF=50), # usm pea with c(dlaimax=0.001, durvieF=60), # and usm maize with c(dlaimax=0.001, durvieF=70) param_values <- data.frame( situation = c("wheat", "pea", "maize"), dlaimax = c(0.001, 0.001, 0.001), durvieF = c(50, 60, 70) ) # Let's display it param_values results <- stics_wrapper( model_options = sim_options, param_values = param_values, situation = c("wheat", "maize") ) ``` #### Simulations in successive mode USMs can be run in successive mode, if they are adequately defined (*i.e.* if the beginning and end of simulations are consistent), using the option `successive_usms`. `successive_usms` is a list of vectors containing the names of the UMSs to consider as successive (e.g. `list(c("usm1.1","usm1.2"),c("usm2.1","usm2.2"))` defines 2 successions usm1.1 -> usm1.2 and usm2.1 -> usm2.2). #### Other Optional arguments - Displaying execution time ```{r eval=FALSE} sim_options <- stics_wrapper_options( javastics = javastics_path, workspace = output_path, time_display = TRUE, verbose = FALSE ) results <- stics_wrapper(model_options = sim_options) ``` - Activating parallel execution On may specify the number of cores to use with the cores argument. ```{r eval=FALSE} sim_options <- stics_wrapper_options( javastics = javastics_path, workspace = output_path, parallel = TRUE, time_display = TRUE, cores = 2, verbose = FALSE ) results <- stics_wrapper(model_options = sim_options) ``` If cores is not given, parallel execution is performed over machine total cores number minus 1. ```{r eval=FALSE} library(parallel) # Used cores number detectCores() - 1 sim_options <- stics_wrapper_options( javastics = javastics_path, workspace = output_path, parallel = TRUE, time_display = TRUE, verbose = FALSE ) results <- stics_wrapper(model_options = sim_options) ``` ## Getting help If you have any question or suggestion or if you want to report a bug, please do it via the GitHub [issues](https://github.com/SticsRPacks/SticsOnR/issues). Thanks for that, this would greatly help us to improve this package. ## Citation If you have used this package for a study that led to a publication or report, please cite us. You can either use the citation tool from Github if you used the last version, or use `citation("SticsOnR")` from R otherwise. ## Code of conduct Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. The package is under intensive development, so you can fill an issue or request us a feature [here](https://github.com/SticsRPacks/SticsOnR/issues) at any time.

Owner

  • Name: SticsRPacks
  • Login: SticsRPacks
  • Kind: organization

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 "SticsOnR" in publications use:'
type: software
license: LGPL-3.0-or-later
title: 'SticsOnR: Manage STICS Simulations Running the Executable or JavaStics,'
version: 1.3.0
abstract: 'Running simulations with the ''STICS'' crop model. Different ways of performing
  simulations are available and based on three use-cases: 1/ Calling ''JavaStics''
  command line to run simulations on given situations. ''JavaStics'' handles text
  files generation from ''XML'' files; 2/ Calling the model ''fortran'' executable
  directly. Text files must be produced beforehand; and 3/ Calling the model ''fortran''
  executable through a wrapper. It can handle distributed runs over the machine CPUs
  and returns simulated output data. The wrapper also provides a concise manner for
  running simulations using custom parameter values and allows to chain simulations
  for successive situations.'
authors:
- family-names: Lecharpentier
  given-names: Patrice
  email: patrice.lecharpentier@inrae.fr
  orcid: https://orcid.org/0000-0002-4044-4322
- family-names: Vezy
  given-names: Remi
  email: remi.vezy@cirad.fr
  orcid: https://orcid.org/0000-0002-0808-1461
- family-names: Buis
  given-names: Samuel
  email: samuel.buis@inrae.fr
  orcid: https://orcid.org/0000-0002-8676-5447
- family-names: Giner
  given-names: Michel
  email: michel.giner@cirad.fr
  orcid: https://orcid.org/0000-0002-9310-2377
repository-code: https://github.com/SticsRPacks/SticsOnR
url: https://doi.org/10.5281/zenodo.4443130
date-released: '2024-02-22'
contact:
- family-names: Lecharpentier
  given-names: Patrice
  email: patrice.lecharpentier@inrae.fr
  orcid: https://orcid.org/0000-0002-4044-4322
references:
- type: software
  title: 'R: A Language and Environment for Statistical Computing'
  notes: Depends
  url: https://www.R-project.org/
  authors:
  - name: R Core Team
  location:
    name: Vienna, Austria
  year: '2024'
  institution:
    name: R Foundation for Statistical Computing
  version: '>= 3.6.0'
- type: software
  title: cli
  abstract: 'cli: Helpers for Developing Command Line Interfaces'
  notes: Imports
  url: https://cli.r-lib.org
  repository: https://CRAN.R-project.org/package=cli
  authors:
  - family-names: Csárdi
    given-names: Gábor
    email: csardi.gabor@gmail.com
  year: '2024'
- type: software
  title: crayon
  abstract: 'crayon: Colored Terminal Output'
  notes: Imports
  url: https://github.com/r-lib/crayon#readme
  repository: https://CRAN.R-project.org/package=crayon
  authors:
  - family-names: Csárdi
    given-names: Gábor
    email: csardi.gabor@gmail.com
  year: '2024'
  version: '>= 1.3.4'
- type: software
  title: doParallel
  abstract: 'doParallel: Foreach Parallel Adaptor for the ''parallel'' Package'
  notes: Imports
  url: https://github.com/RevolutionAnalytics/doparallel
  repository: https://CRAN.R-project.org/package=doParallel
  authors:
  - family-names: Corporation
    given-names: Microsoft
  - family-names: Weston
    given-names: Steve
  year: '2024'
- 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: '2024'
- type: software
  title: foreach
  abstract: 'foreach: Provides Foreach Looping Construct'
  notes: Imports
  url: https://github.com/RevolutionAnalytics/foreach
  repository: https://CRAN.R-project.org/package=foreach
  authors:
  - name: Microsoft
  - family-names: Weston
    given-names: Steve
  year: '2024'
- type: software
  title: lifecycle
  abstract: 'lifecycle: Manage the Life Cycle of your Package Functions'
  notes: Imports
  url: https://lifecycle.r-lib.org/
  repository: https://CRAN.R-project.org/package=lifecycle
  authors:
  - family-names: Henry
    given-names: Lionel
    email: lionel@posit.co
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
    orcid: https://orcid.org/0000-0003-4757-117X
  year: '2024'
- 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: '2024'
- type: software
  title: parallel
  abstract: 'R: A Language and Environment for Statistical Computing'
  notes: Imports
  authors:
  - name: R Core Team
  location:
    name: Vienna, Austria
  year: '2024'
  institution:
    name: R Foundation for Statistical Computing
- type: software
  title: rstudioapi
  abstract: 'rstudioapi: Safely Access the RStudio API'
  notes: Imports
  url: https://rstudio.github.io/rstudioapi/
  repository: https://CRAN.R-project.org/package=rstudioapi
  authors:
  - family-names: Ushey
    given-names: Kevin
    email: kevin@rstudio.com
  - family-names: Allaire
    given-names: JJ
    email: jj@posit.co
  - family-names: Wickham
    given-names: Hadley
    email: hadley@posit.co
  - family-names: Ritchie
    given-names: Gary
    email: gary@posit.co
  year: '2024'
- type: software
  title: stats
  abstract: 'R: A Language and Environment for Statistical Computing'
  notes: Imports
  authors:
  - name: R Core Team
  location:
    name: Vienna, Austria
  year: '2024'
  institution:
    name: R Foundation for Statistical Computing
- type: software
  title: tibble
  abstract: 'tibble: Simple Data Frames'
  notes: Imports
  url: https://tibble.tidyverse.org/
  repository: https://CRAN.R-project.org/package=tibble
  authors:
  - family-names: Müller
    given-names: Kirill
    email: kirill@cynkra.com
    orcid: https://orcid.org/0000-0002-1416-3412
  - family-names: Wickham
    given-names: Hadley
    email: hadley@rstudio.com
  year: '2024'
- 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: '2024'
- type: software
  title: SticsRFiles
  abstract: 'SticsRFiles: Read and Modify ''STICS'' Input/Output Files'
  notes: Imports
  url: https://doi.org/10.5281/zenodo.4443206
  repository: https://CRAN.R-project.org/package=SticsRFiles
  authors:
  - family-names: Lecharpentier
    given-names: Patrice
    email: patrice.lecharpentier@inrae.fr
    orcid: https://orcid.org/0000-0002-4044-4322
  - family-names: Vezy
    given-names: Remi
    email: remi.vezy@cirad.fr
    orcid: https://orcid.org/0000-0002-0808-1461
  - family-names: Buis
    given-names: Samuel
    email: samuel.buis@inrae.fr
    orcid: https://orcid.org/0000-0002-8676-5447
  - family-names: Giner
    given-names: Michel
    email: michel.giner@cirad.fr
    orcid: https://orcid.org/0000-0002-9310-2377
  year: '2024'
  version: '>= 1.1.3'
- type: software
  title: covr
  abstract: 'covr: Test Coverage for Packages'
  notes: Suggests
  url: https://covr.r-lib.org
  repository: https://CRAN.R-project.org/package=covr
  authors:
  - family-names: Hester
    given-names: Jim
    email: james.f.hester@gmail.com
  year: '2024'
- 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: '2024'
- 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: '2024'
- type: software
  title: spelling
  abstract: 'spelling: Tools for Spell Checking in R'
  notes: Suggests
  url: https://docs.ropensci.org/spelling/
  repository: https://CRAN.R-project.org/package=spelling
  authors:
  - family-names: Ooms
    given-names: Jeroen
    email: jeroen@berkeley.edu
    orcid: https://orcid.org/0000-0002-4035-0289
  - family-names: Hester
    given-names: Jim
    email: james.hester@rstudio.com
  year: '2024'
- 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: '2024'

GitHub Events

Total
  • Create event: 18
  • Release event: 1
  • Issues event: 8
  • Watch event: 2
  • Delete event: 16
  • Issue comment event: 9
  • Push event: 39
  • Pull request event: 31
  • Fork event: 1
Last Year
  • Create event: 18
  • Release event: 1
  • Issues event: 8
  • Watch event: 2
  • Delete event: 16
  • Issue comment event: 9
  • Push event: 39
  • Pull request event: 31
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 11
  • Total pull requests: 27
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 20 days
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 0.73
  • Average comments per pull request: 0.07
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 5
Past Year
  • Issues: 5
  • Pull requests: 17
  • Average time to close issues: 2 months
  • Average time to close pull requests: 22 days
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 1.4
  • Average comments per pull request: 0.12
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 5
Top Authors
Issue Authors
  • plecharpent (5)
  • marielaunay (2)
  • RamiALBASHA (1)
  • helraynal (1)
  • dependabot[bot] (1)
  • sbuis (1)
Pull Request Authors
  • plecharpent (12)
  • VEZY (7)
  • dependabot[bot] (5)
  • sbuis (4)
  • Chabrier (1)
Top Labels
Issue Labels
priority-1 (1) bug (1) dependencies (1)
Pull Request Labels
dependencies (5) github_actions (1)

Dependencies

.github/workflows/check-standard.yaml actions
  • actions/checkout v3 composite
  • peter-evans/repository-dispatch 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/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 v3 composite
  • actions/upload-artifact v3 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 v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • R >= 3.6.0 depends
  • SticsRFiles * imports
  • XML * imports
  • cli * imports
  • crayon >= 1.3.4 imports
  • doParallel * imports
  • dplyr * imports
  • foreach * imports
  • lifecycle * imports
  • magrittr * imports
  • methods * imports
  • parallel * imports
  • rstudioapi * imports
  • stats * imports
  • tibble * imports
  • covr * suggests
  • knitr * suggests
  • rmarkdown * suggests
  • spelling * suggests
  • testthat * suggests