whippr

Tools for Manipulating Gas Exchange Data 📈

https://github.com/fmmattioni/whippr

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 (15.3%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Tools for Manipulating Gas Exchange Data 📈

Basic Info
Statistics
  • Stars: 12
  • Watchers: 3
  • Forks: 4
  • Open Issues: 2
  • Releases: 1
Created over 6 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog Funding License

README.Rmd

---
output: github_document
---



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

# whippr 


[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable)
[![CRAN status](https://www.r-pkg.org/badges/version/whippr)](https://CRAN.R-project.org/package=whippr)
[![Codecov test coverage](https://codecov.io/gh/fmmattioni/whippr/branch/master/graph/badge.svg)](https://app.codecov.io/gh/fmmattioni/whippr?branch=master)
[![R-CMD-check](https://github.com/fmmattioni/whippr/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/fmmattioni/whippr/actions/workflows/R-CMD-check.yaml)


The goal of `whippr` is to provide a set of tools for manipulating gas exchange data from cardiopulmonary exercise testing.

## Why `whippr`?

The name of the package is in honor of [Prof. Brian J Whipp](https://erj.ersjournals.com/content/39/1/1) and his invaluable contribution to the field of exercise physiology.

## Installation

You can install the development version of `whippr` from [Github](https://github.com/fmmattioni/whippr) with:

``` r
# install.packages("remotes")
remotes::install_github("fmmattioni/whippr")
```

## Use

### Read data

```{r}
library(whippr)

## example file that comes with the package for demonstration purposes
path_example <- system.file("example_cosmed.xlsx", package = "whippr")

df <- read_data(path = path_example, metabolic_cart = "cosmed")

df
```

### Interpolate

```{r}
df %>% 
  interpolate()
```

### Perform averages

#### Bin-average

```{r}
## example of performing 30-s bin-averages
df %>% 
  interpolate() %>% 
  perform_average(type = "bin", bins = 30)
```

#### Rolling-average

```{r}
## example of performing 30-s rolling-averages
df %>% 
  interpolate() %>% 
  perform_average(type = "rolling", rolling_window = 30)
```


### Perform VO2 kinetics analysis

```{r}
results_kinetics <- vo2_kinetics(
  .data = df,
  intensity_domain = "moderate",
  vo2_column = "VO2",
  protocol_n_transitions = 3,
  protocol_baseline_length = 360,
  protocol_transition_length = 360,
  cleaning_level = 0.95,
  cleaning_baseline_fit = c("linear", "exponential", "exponential"),
  fit_level = 0.95,
  fit_bin_average = 5,
  fit_phase_1_length = 20,
  fit_baseline_length = 120,
  fit_transition_length = 240,
  verbose = TRUE
)
```

### Perform VO2max analysis

```{r}
df_incremental <- read_data(path = system.file("ramp_cosmed.xlsx", package = "whippr"), metabolic_cart = "cosmed")

vo2_max(
  .data = df_incremental, ## data from `read_data()`
  vo2_column = "VO2",
  vo2_relative_column = "VO2/Kg",
  heart_rate_column = "HR",
  rer_column = "R",
  detect_outliers = TRUE,
  average_method = "bin",
  average_length = 30,
  plot = TRUE,
  verbose = TRUE,
  ## arguments for `incremental_normalize()`
  incremental_type = "ramp",
  has_baseline = TRUE,
  baseline_length = 240, ## 4-min baseline
  work_rate_magic = TRUE, ## produce a work rate column
  baseline_intensity = 20, ## baseline was performed at 20 W
  ramp_increase = 25, ## 25 W/min ramp
  ## arguments for `detect_outliers()`
  test_type = "incremental",
  cleaning_level = 0.95, 
  method_incremental = "linear"
)
```

## Metabolic carts currently supported

* [COSMED](https://www.cosmed.com/en/)
* [CORTEX](https://cortex-medical.com/EN)
* [NSpire](https://www.pressebox.de/pressemitteilung/nspire-health-gmbh/ZAN-100-Diagnostische-Spirometrie/boxid/745555)
* Parvo Medics
* [Geratherm Respiratory](https://www.geratherm-respiratory.com/product-groups/cpet/)
* [CardioCoach](https://korr.com/go/cardiocoach/)

## Online app

Would you like to perform VO2 kinetics analyses but don't know R? No problem! You can use our online app: [VO2 Kinetics App](https://exphyslab.com/kinetics/)

## Code of Conduct

Please note that this project is released with a [Contributor Code of Conduct](https://www.contributor-covenant.org/version/1/0/0/code-of-conduct.html).
By participating in this project you agree to abide by its terms.

Icons made by monkik from www.flaticon.com

Owner

  • Name: Felipe Mattioni Maturana, Ph.D.
  • Login: fmmattioni
  • Kind: user
  • Location: Germany
  • Company: enhance-d

My goal is to help making exercise physiology reproducible and open and accessible for everyone

GitHub Events

Total
  • Release event: 1
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 1
  • Push event: 2
  • Fork event: 1
Last Year
  • Release event: 1
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 1
  • Push event: 2
  • Fork event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 153
  • Total Committers: 2
  • Avg Commits per committer: 76.5
  • Development Distribution Score (DDS): 0.007
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Felipe Mattioni Maturana f****2@g****m 152
Felipe Mattioni Maturana 3****i 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 9
  • Total pull requests: 4
  • Average time to close issues: 4 months
  • Average time to close pull requests: 17 days
  • Total issue authors: 5
  • Total pull request authors: 2
  • Average comments per issue: 2.33
  • Average comments per pull request: 0.5
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Scott-S-Hannah (4)
  • marikaecarr (2)
  • Jeffrothschild (1)
  • kizen777 (1)
  • saragracebiddle (1)
Pull Request Authors
  • fmmattioni (3)
  • olivroy (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 287 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
  • Total maintainers: 1
cran.r-project.org: whippr

Tools for Manipulating Gas Exchange Data

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 287 Last month
Rankings
Forks count: 14.9%
Stargazers count: 19.8%
Dependent packages count: 29.8%
Average: 33.6%
Dependent repos count: 35.5%
Downloads: 68.0%
Last synced: 11 months ago

Dependencies

DESCRIPTION cran
  • broom >= 0.7.0 imports
  • cli * imports
  • dplyr >= 1.0.1 imports
  • ggplot2 >= 3.3.2 imports
  • glue * imports
  • lubridate >= 1.7.9 imports
  • magrittr * imports
  • minpack.lm * imports
  • nlstools * imports
  • patchwork >= 1.0.1 imports
  • pillar * imports
  • purrr * imports
  • readxl >= 1.3.1 imports
  • rlang * imports
  • stringr >= 1.4.0 imports
  • tibble * imports
  • tidyr >= 1.1.1 imports
  • usethis * imports
  • zoo * imports
  • anomalize * suggests
  • collapsibleTree * suggests
  • covr * suggests
  • datapasta * suggests
  • fansi * suggests
  • forcats * suggests
  • ggforce * suggests
  • ggtext * suggests
  • htmltools * suggests
  • knitr * suggests
  • miniUI * suggests
  • readr * suggests
  • rmarkdown * suggests
  • rstudioapi * suggests
  • shiny * suggests
  • testthat * suggests
.github/workflows/R-CMD-check.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/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/pr-commands.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/pr-fetch v2 composite
  • r-lib/actions/pr-push 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