rmo

An R package for Marshall--Olkin distributions and copulas.

https://github.com/hsloot/rmo

Science Score: 39.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
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (21.5%) to scientific vocabulary

Keywords

mathematical-modelling mathematics modeling r r-package rstats simulation statistics
Last synced: 4 months ago · JSON representation

Repository

An R package for Marshall--Olkin distributions and copulas.

Basic Info
Statistics
  • Stars: 5
  • Watchers: 2
  • Forks: 2
  • Open Issues: 7
  • Releases: 25
Topics
mathematical-modelling mathematics modeling r r-package rstats simulation statistics
Created over 6 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codeowners Support Codemeta

README.Rmd

---
output: github_document
references:
  - id: Sloot2022a
    type: article-journal
    title: Implementing Markovian models for extendible Marshall–Olkin distributions
    author: 
      family: Sloot
      given: Henrik
    container-title: Dependence Modeling
    publisher: De Gruyter
    volume: 10
    issue: 1
    page: 308-343
    DOI: 10.1515/demo-2022-0151
    issued:
      year: 2022
      month: 12
---



```{r setup, include=FALSE, message=FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
library(rmo)
library(tidyverse)
library(ggplot2)
set.seed(1623)
```

# rmo


![minimal R version](https://img.shields.io/badge/R%3E%3D-3.4.0-6666ff.svg)
![packageversion](https://img.shields.io/badge/Package%20version-`r unname(desc::desc_get("Version"))`-orange.svg?style=flat-square)
[![Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip)
[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://www.tidyverse.org/lifecycle/#experimental)
[![Last-changedate](https://img.shields.io/badge/last%20change-`r gsub('-','--', Sys.Date())`-yellowgreen.svg)](/commits/master)
[![R build status](https://github.com/hsloot/rmo/workflows/check-full/badge.svg)](https://github.com/hsloot/rmo/actions)
[![Codecov test coverage](https://codecov.io/gh/hsloot/rmo/branch/master/graph/badge.svg)](https://codecov.io/gh/hsloot/rmo?branch=main)


An R package for constructing and simulating high-dimensional
*Marshall-Olkin (MO) distributions*, making it simple and fun to use them for
research and real-world applications. Read more about simulating
high-dimensional MO distributions in [@Sloot2022a].

## Installation

You can install the development version from GitHub using the `devtools` package
with:

```{r installation, eval=FALSE}
# install.packages("devtools")
devtools::install_github("hsloot/rmo")
```

## Basic usage

Simulating high-dimensional Marshall–Olkin distributions is made simple with the
`rpextmo()` function. Here is a basic example: 

```{r basic-usage}
rpextmo(
  n = 10,                # number of samples
  d = 3,                 # dimension
  eta = log2(2 - 0.5),   # distribution family parameter
  family = "AlphaStable" # distribution family
)
```

## Advanced usage

All parametric families are linked to *so-called* Bernstein functions. The class
of Bernstein functions is closed under addition, scaling, and composite scaling.
You can create new Bernstein functions and simulate from them. Here is an
example:

```{r advanced-usage}
# Create a custom Bernstein function parametrization
alpha <- log2(2 - 0.5)
x0 <- 5e-4
bf <- SumOfBernsteinFunctions(
  first = LinearBernsteinFunction(
    scale = alpha * x0^(1 - alpha) / (1 - alpha) / gamma(1 - alpha)
  ),
  second = ScaledBernsteinFunction(
    scale = x0^(-alpha) / gamma(1 - alpha),
    original = ParetoBernsteinFunction(
      alpha = alpha,
      x0 = x0
    )
  )
)

# Simulate from the custom Bernstein function parametrization
rextmo(n = 10, d = 3, bf = bf)
```

## Word(s) of caution

While the package is extensively tested, numerical issues may arise in
high-dimensional simulations due to very small or large numbers. We recommend
performing statistical tests suitable for your use-case to ensure validity. For
more guidance, refer to our [statistical unit
tests](https://github.com/hsloot/rmo/blob/main/tests/testthat/test-statistical-unit-test.R)
and submit an [issue
report](https://github.com/hsloot/rmo/issues/new?assignees=&labels=bug&template=statistical_problem.md&title=%5BSTAT%5D)
if you encounter statistical problems.

Additionally, note that while the package reached a certain level of stability,
it is still under active development. We aim to keep the interface of the
primary function `rpextmo()` backwards compatible, the implementation may
undergo changes.

## API documentation

The package is documented using `roxygen2` and `pkgdown`. You can find the
documentation on the [project website](reference/index.html).

## Testing

The package is tested using `testthat`. You can run the tests using the
following command after checking out the repository: 

```{r testing, eval=FALSE}
devtools::test()
```

## Changelog

The changelog is available in the [NEWS.md](NEWS.md) file.

## Contributing

Contributions to `rmo` are welcome! You contribution can be about improving the
documentation, writing tests, raising issues or feature requests, implementing
feature requests, or fixing bugs. Check out our [contribution
guide](.github/CONTRIBUTING.md) to get started.

## References

## License GPL-3 Henrik Sloot

Owner

  • Name: Henrik Sloot
  • Login: hsloot
  • Kind: user
  • Location: Munich

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "rmo",
  "description": " The package contains an implementation of the Marshall-Olkin distribution and methods for estimation, simulation, and construction.",
  "name": "rmo: A package for the Marshall-Olkin distribution",
  "codeRepository": "https://github.com/hsloot/rmo",
  "issueTracker": "https://github.com/hsloot/rmo/issues",
  "license": "https://spdx.org/licenses/GPL-3.0",
  "version": "0.9",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.3.3 (2024-02-29)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Henrik",
      "familyName": "Sloot",
      "email": "henrik.sloot@gmail.com",
      "@id": "https://orcid.org/0000-0001-8582-7776"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Henrik",
      "familyName": "Sloot",
      "email": "henrik.sloot@gmail.com",
      "@id": "https://orcid.org/0000-0001-8582-7776"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "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"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "covr",
      "name": "covr",
      "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=covr"
    },
    {
      "@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": "rlang",
      "name": "rlang",
      "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=rlang"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "xml2",
      "name": "xml2",
      "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=xml2"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "mockery",
      "name": "mockery",
      "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=mockery"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "withr",
      "name": "withr",
      "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=withr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "remotes",
      "name": "remotes",
      "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=remotes"
    },
    {
      "@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"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 3.4.0"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "Rcpp",
      "name": "Rcpp",
      "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=Rcpp"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "methods",
      "name": "methods"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "Rdpack",
      "name": "Rdpack",
      "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=Rdpack"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "checkmate",
      "name": "checkmate",
      "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=checkmate"
    },
    "SystemRequirements": "C++17"
  },
  "fileSize": "21217.185KB"
}

GitHub Events

Total
Last Year

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 500
  • Total Committers: 3
  • Avg Commits per committer: 166.667
  • Development Distribution Score (DDS): 0.424
Past Year
  • Commits: 34
  • Committers: 2
  • Avg Commits per committer: 17.0
  • Development Distribution Score (DDS): 0.147
Top Committers
Name Email Commits
Henrik Sloot h****t@g****m 288
Henrik Sloot H****t@g****m 183
hsloot 1****t 29

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 58
  • Total pull requests: 42
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 14 hours
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.79
  • Average comments per pull request: 0.9
  • Merged pull requests: 42
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 2
  • Average time to close issues: 4 days
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.4
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hsloot (58)
Pull Request Authors
  • hsloot (50)
Top Labels
Issue Labels
enhancement (24) good first issue (19) help wanted (18) Refactor (12) bug (11) review (11) test (3) documentation (3) question (2)
Pull Request Labels
enhancement (14) Refactor (13) bug (5) documentation (3) test (2)

Dependencies

DESCRIPTION cran
  • R >= 3.4.0 depends
  • Rcpp * imports
  • Rdpack * imports
  • checkmate * imports
  • methods * imports
  • covr * suggests
  • mockery * suggests
  • remotes * suggests
  • rlang * suggests
  • rmarkdown * suggests
  • testthat * suggests
  • withr * suggests
  • xml2 * suggests
tests/testthat/testutils.rmo/DESCRIPTION cran
  • methods * imports
  • rmo * imports
.github/workflows/check-full.yaml actions
  • actions/checkout v3 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/continuous-benchmarks.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/lint.yaml actions
  • actions/checkout v3 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
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite