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
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
Collaboration
If you want to collaborate to add more function to this package, feel free to contact me at kittipos.sir@mahidol.edu.
Last updated: 2022-06-08