Git Product home page Git Product logo

labcharthrv's Introduction

labChartHRV

Lifecycle: experimental R-CMD-check Codecov test coverage DOI

R package 📦 for LabChart’s Heart Rate Variability Data

Overview

{labChartHRV} is an R package which contains functions for data import and manipulation of LabChart’s HRV module.

Use case

  • Import and transform LabChart’s HRV report file (.txt) into a tibble (data frame).

Installation

You can install the development version of labChartHRV from GitHub with:

  • Install {remotes} package by (skip If you already have):
install.packages("remotes")
  • Install {labChartHRV} package by:
remotes::install_github("Lightbridge-KS/labChartHRV")

Problems

This is a LabChart’s HRV report file (.txt) of 1 subject.

How to transform it into a 1-row data frame for further analysis?

Moreover, If we have multiple of these text files, how can we transform it into a data frame which has each rows corresponding to each subjects?

{labChartHRV} package has functions to solve this problems

Usage

library(labChartHRV)

This package comes with example data of LabChart’s HRV report file(s) in .txt.

# Path to a folder containing example HRV report text files
path_hrv <- labChartHRV_example("HRV")
dir(path_hrv)
#> [1] "file1.txt" "file2.txt" "file3.txt" "file4.txt"

Read HRV report file(s) from .txt to a data frame by calling read_HRV_reports() with path to either single HRV report or folder containing multiple reports.

# Read multiple HRV report files from a folder
hrv_tbl <- read_HRV_reports(path_hrv)
hrv_tbl
#> # A tibble: 4 × 41
#>   doc_id    File_LabChart Channel   Date  Start_time End_time Name  Gender   Age
#>   <chr>     <chr>         <fct>     <chr> <chr>      <chr>    <chr> <fct>  <int>
#> 1 file1.txt file1         Channel 2 16/2… 16/2/2563… 16/2/25… John  Male      60
#> 2 file2.txt file2         Channel 2 26/3… 26/3/2563… 26/3/25… Max   Male      56
#> 3 file3.txt file3         Channel 2 19/8… 19/8/2563… 19/8/25… Mary  Female    65
#> 4 file4.txt file4         Channel 2 10/9… 19/10/256… 19/10/2… Tom   Female    63
#> # … with 32 more variables: Beats_tot <dbl>, Rec_length <dbl>,
#> #   Class_bound <chr>, Discontinuities <dbl>, Beats_inserted <dbl>,
#> #   Beats_deleted <dbl>, NN_max <dbl>, NN_min <dbl>, NN_range <dbl>,
#> #   NN_mean <dbl>, NN_median <dbl>, HR_avg <dbl>, SDNN <dbl>, SD_del_NN <dbl>,
#> #   RMSSD <dbl>, Normals_count <dbl>, Ectopics_count <dbl>,
#> #   Artifacts_count <dbl>, NN50_count <dbl>, NN50_percent <dbl>,
#> #   Spec_intv <dbl>, Spec_mean_NN <dbl>, Power_tot <dbl>, VLF_freq <chr>, …

hrv_tbl is a tibble (data frame)

  • Columns are variables including the results from time-and frequency-domain HRV analysis.

  • Rows corresponding to report files (i.e., each subjects).

# Variable names
names(hrv_tbl)
#>  [1] "doc_id"          "File_LabChart"   "Channel"         "Date"           
#>  [5] "Start_time"      "End_time"        "Name"            "Gender"         
#>  [9] "Age"             "Beats_tot"       "Rec_length"      "Class_bound"    
#> [13] "Discontinuities" "Beats_inserted"  "Beats_deleted"   "NN_max"         
#> [17] "NN_min"          "NN_range"        "NN_mean"         "NN_median"      
#> [21] "HR_avg"          "SDNN"            "SD_del_NN"       "RMSSD"          
#> [25] "Normals_count"   "Ectopics_count"  "Artifacts_count" "NN50_count"     
#> [29] "NN50_percent"    "Spec_intv"       "Spec_mean_NN"    "Power_tot"      
#> [33] "VLF_freq"        "VLF"             "LF_freq"         "LF"             
#> [37] "LF_nu"           "HF_freq"         "HF"              "HF_nu"          
#> [41] "LF_HF"

Variable’s description are store in this data frame:

HRV_vars_desc
#> # A tibble: 41 × 2
#>    variable      description                       
#>    <chr>         <chr>                             
#>  1 doc_id        File name of the input HRV reports
#>  2 File_LabChart LabChart file name                
#>  3 Channel       Channel                           
#>  4 Date          Date                              
#>  5 Start_time    Start time                        
#>  6 End_time      End time                          
#>  7 Name          Name                              
#>  8 Gender        Gender                            
#>  9 Age           Age                               
#> 10 Beats_tot     Total number of beats             
#> # … with 31 more rows

Learn more

Collaboration

If you want to collaborate to add more function to this package, feel free to contact me at [email protected].


Last updated: 2022-06-08

labcharthrv's People

Contributors

lightbridge-ks avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.