Science Score: 26.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
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.7%) to scientific vocabulary

Keywords from Contributors

standardization
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: DanChaltiel
  • License: gpl-3.0
  • Language: R
  • Default Branch: main
  • Size: 134 KB
Statistics
  • Stars: 24
  • Watchers: 2
  • Forks: 5
  • Open Issues: 4
  • Releases: 0
Created about 4 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Changelog License Codemeta

README.md

{nih.joinpoint}

Package-License Lifecycle: maturing Last Commit CRAN status

Joinpoint Regression Software

The package {nih.joinpoint} is an R interface to easily use National Institute of Health (NIH)'s 'Joinpoint Regression Software' v4.9.0.0.

You will need the Command-Line version (available here). This package will not work on the graphical version (Joinpoint Desktop Software).

Disclaimer:\ According to the Terms of Use Agreement from NIH, I am not allowed to share a copy of the software\ You need to apply at https://surveillance.cancer.gov/joinpoint/callable/ to get your own copy. This package will NOT work otherwise.\ If you want to cite this package in a publication, you will have to cite NIH as well.

The NIH software will come as a Windows installer that needs to be installed. If you cannot or don't want to install it in the default location ("C:/Program Files (x86)/Joinpoint Command/jpCommand.exe"), you should use options(joinpoint_path="my/path/to/jp.exe").

This package comes with no guarantee that it will work for any other version than v4.9.0.0.

Package Installation

As for now, you can only install the development version of this package from GitHub:

r devtools::install_github("DanChaltiel/nih.joinpoint")

Lifecycle: experimental

This package is still in its experimental phase, so breaking changes might happen in the future.

Therefore, you should probably use renv in your project so that your old code will run even if you update this package.

When the interface is mature enough, this package will be released on CRAN.

Dataset

This package includes a part of the sample dataset provided with the software:

``` r library(tidyverse) library(nih.joinpoint)

nihsampledata %>% group_by(sex) %>% slice(1, 2, n()-1, n()) #first 2 and last 2 of each group

> # A tibble: 12 x 4

> # Groups: sex [3]

> sex year rate se

>

> 1 Both 1975 59.5 0.622

> 2 Both 1976 61.4 0.626

> 3 Both 2008 44.7 0.395

> 4 Both 2009 42.6 0.382

> 5 Male 1975 68.4 1.07

> 6 Male 1976 71.7 1.08

> 7 Male 2008 51.0 0.639

> 8 Male 2009 48.2 0.614

> 9 Female 1975 53.6 0.770

> 10 Female 1976 54.1 0.767

> 11 Female 2008 39.5 0.500

> 12 Female 2009 38.1 0.488

ggplot(nihsampledata, aes(x=year, y=rate, color=sex)) + geompoint() + geomline() ```

Parameters

You can use run_options() and export_options() to setup parameters for the joinpoint analysis:

r run_opt = run_options(model="ln", max_joinpoints=3, n_cores=3) export_opt = export_options()

In this example, we ask for a log-linear model, with a maximum of 3 joinpoints to be found, using 3 cores of your processor to parallelize to computing. See ?run_options() for more options.\ Export options are left as default as they often mess with the output, change them if you know what you are doing.

Note that the computing time will increase exponentially with max_joinpoints and will decrease with n_cores.

Run

To run the analysis, you then call joinpoint() with arguments: your dataset, the variables you want to consider, and the above-mentioned options.

``` r jp = joinpoint(nihsampledata, x=year, y=rate, by=sex, se=se, runopts=runopt, exportopts=exportopt) names(jp)

> [1] "aapc" "apc" "dataexport" "selectedmodel"

> [5] "perm_test" "report"

```

If you'd like to have more information about your joinpoint run, you can use summary(jp).

Note that you can leave the options as default, and that the standard error can be left unfilled:

r jp2 = joinpoint(nih_sample_data, x=year, y=rate, run_opts=run_opt)

Note though that by default this latter example used a single core to find a max of 4 joinpoints. It took 20 minutes to run on my computer, compared to 4 seconds for the first example.

Plotting

You can use jp_plot() to plot the joinpoint lines along the scatter points:

r jp_plot(jp)

The result is a patchwork of ggplots, as the legend must be different for every level.

Note that you can use by_level to filter specific groups:

r jp_plot(jp, by_level=c("Male", "Female"))

Logging

You can look at the logs using cat():

``` r cat(jp$run_summary)

> ----------------------

> Joinpoint Version Info

> ----------------------

> Program Name = C:\PROGRA~2\JOINPO~2\JPCOMM~1.EXE

> Program Version = V4.9.0.0.1

> Execution Time = 3 seconds

>

> -------------------

> Joinpoint Run Files

> -------------------

> Run File = session_run.ini

> Session File = ini/session_ini.ini

> Data File = session_run.ini

> Session Options File = ini/runoptini.ini

> Output Options File = ini/exportoptini.ini

> Joinpoint Output File = session_run.jpo

>

> -------------------------

> Joinpoint Session Options

> -------------------------

> Model Specifications:

>

> Independent Variable = year

> Shift Data Points by = 0.000000

>

> Dependent Variable:

> Calculated or Provided = Provided

> Type = Age-Adjusted Rate

>

> Type of Change Point Model = Joinpoint

> Loglinear Model = Yes {ln(y) = xb}

> Heteroscedastic Errors Model = Standard Error (Provided)

>

> By Variables:

> sex

>

> Method = Grid Search

> Autocorrelation Errors = Uncorrelated

>

> Minimum Number of Joinpoints = 0

> Maximum Number of Joinpoints = 3

>

> Minimum Number Obs Before First Joinpoint = 2

> Minimum Number Obs Between Two Joinpoints = 2

> Number of Grid Points Between Data Points = 0

>

> Model Selection Method = Permutation Test

> Overall Significance Level of Permutation Tests = 0.0500

> Number of Permutations to Perform for Each Test = 4499

> Seed for Randomly Permuting Data = 7160

> Joinpoint Significance Level = 0.0500

> APC Significance Level = 0.0500

> AAPC Significance Level = 0.0500

> Jump Value and CR Significance Level = Not Applicable

>

> AAPC Confidence Interval Method = Parametric

>

> Jump Model / Comparability Ratio = Disable

> Jump Location = Not Applicable

> Comparability Ratio = Not Applicable

> Variance of CR = Not Applicable

>

> Comparison Type = None

> Pairwise Comparison = Not Applicable

```

Owner

  • Name: Dan Chaltiel
  • Login: DanChaltiel
  • Kind: user
  • Location: France
  • Company: @gustaveroussy

Data analyst (PharmD, PhD) and programming enthusiast. I love to code in R (tidyverse FTW!) but also in Kotlin/Java (Android), Python, PHP, JS, Arduino...

CodeMeta (codemeta.json)

{
  "@context": [
    "https://doi.org/10.5063/schema/codemeta-2.0",
    "http://schema.org"
  ],
  "@type": "SoftwareSourceCode",
  "identifier": "nih.joinpoint",
  "description": "Functions to easily use National Institute of Health (NIH)'s 'Joinpoint Regression Software'. \n  You **must** download and install the software beforehand at <https://surveillance.cancer.gov/joinpoint/callable/>. \n  NIH's approval will be needed to download the executable.",
  "name": "nih.joinpoint: R Interface for NIH's Joinpoint Regression Software",
  "codeRepository": "https://github.com/DanChaltiel/nih.joinpoint/",
  "issueTracker": "https://github.com/DanChaltiel/nih.joinpoint/issues/",
  "license": "https://spdx.org/licenses/GPL-3.0",
  "version": "0.1.0",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.1.2 (2021-11-01)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Dan",
      "familyName": "Chaltiel",
      "email": "dan.chaltiel@gmail.com",
      "@id": "https://orcid.org/0000-0003-3488-779X"
    }
  ],
  "contributor": {},
  "copyrightHolder": {},
  "funder": {},
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Dan",
      "familyName": "Chaltiel",
      "email": "dan.chaltiel@gmail.com",
      "@id": "https://orcid.org/0000-0003-3488-779X"
    }
  ],
  "softwareSuggestions": [
    {
      "@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": "crayon",
      "name": "crayon",
      "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=crayon"
    },
    {
      "@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": "lifecycle",
      "name": "lifecycle",
      "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=lifecycle"
    },
    {
      "@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": "systemfonts",
      "name": "systemfonts",
      "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=systemfonts"
    },
    {
      "@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": "tidyverse",
      "name": "tidyverse",
      "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=tidyverse"
    },
    {
      "@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": "waldo",
      "name": "waldo",
      "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=waldo"
    }
  ],
  "softwareRequirements": [
    {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 3.1.0"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "dplyr",
      "name": "dplyr",
      "version": ">= 1.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=dplyr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "forcats",
      "name": "forcats",
      "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=forcats"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "glue",
      "name": "glue",
      "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=glue"
    },
    {
      "@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": "janitor",
      "name": "janitor",
      "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=janitor"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "purrr",
      "name": "purrr",
      "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=purrr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rlang",
      "name": "rlang",
      "version": ">= 0.4.7",
      "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": "readr",
      "name": "readr",
      "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=readr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "tibble",
      "name": "tibble",
      "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=tibble"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "tidyselect",
      "name": "tidyselect",
      "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=tidyselect"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "patchwork",
      "name": "patchwork",
      "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=patchwork"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "zoo",
      "name": "zoo",
      "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=zoo"
    }
  ],
  "releaseNotes": "https://github.com/DanChaltiel/nih.joinpoint/blob/master/NEWS.md",
  "readme": "https://github.com/DanChaltiel/nih.joinpoint/blob/main/README.md",
  "fileSize": "0KB",
  "developmentStatus": "https://lifecycle.r-lib.org/articles/stages.html"
}

GitHub Events

Total
  • Issues event: 3
  • Watch event: 6
  • Issue comment event: 1
  • Fork event: 1
Last Year
  • Issues event: 3
  • Watch event: 6
  • Issue comment event: 1
  • Fork event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 58
  • Total Committers: 3
  • Avg Commits per committer: 19.333
  • Development Distribution Score (DDS): 0.086
Past Year
  • Commits: 4
  • Committers: 3
  • Avg Commits per committer: 1.333
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
Dan Chaltiel d****l@g****m 53
github-actions 4****] 4
Dan Chaltiel 1****l 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 13
  • Total pull requests: 0
  • Average time to close issues: 3 months
  • Average time to close pull requests: N/A
  • Total issue authors: 10
  • Total pull request authors: 0
  • Average comments per issue: 2.62
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 0
  • Average time to close issues: 6 days
  • Average time to close pull requests: N/A
  • Issue authors: 4
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • cbalzani (2)
  • DanChaltiel (2)
  • Liu499-create (2)
  • mlaviolet (1)
  • mulugeta2000 (1)
  • steve-real (1)
  • ZT-ls (1)
  • tianliu88 (1)
  • superrray (1)
  • chkreis (1)
Pull Request Authors
Top Labels
Issue Labels
bug (7) enhancement (3) On hold (1) documentation (1)
Pull Request Labels

Dependencies

DESCRIPTION cran
  • R >= 3.1.0 depends
  • dplyr >= 1.0.0 imports
  • forcats * imports
  • ggplot2 * imports
  • glue * imports
  • janitor * imports
  • patchwork * imports
  • purrr * imports
  • readr * imports
  • rlang >= 0.4.7 imports
  • tibble * imports
  • tidyselect * imports
  • zoo * imports
  • covr * suggests
  • crayon * suggests
  • knitr * suggests
  • lifecycle * suggests
  • rmarkdown * suggests
  • systemfonts * suggests
  • testthat * suggests
  • tidyverse * suggests
  • waldo * suggests
  • withr * suggests
.github/workflows/bump_version_dev.yaml actions
  • EndBug/add-and-commit v7.5.0 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite