tidyspec

R-CMD-check License: MIT

The goal of tidyspec is to provide a friendly pipeline for spectroscopy analysis using the tidy data philosophy.

Installation

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

# install.packages("devtools")
devtools::install_github("marceelrf/tidyspec")

About

The tidyspec package was design to enable the data analysis of spectroscopy data (as IR, Raman, NMR) with the tidy-data format. There are 6 families of functions in tidyspec, all starting with spec_:

The function set_spec_wn simplifies the use of functions by globally defining the column that contains the wave numbers. User can check the wavenumber column with check_wn_col.

Example

This is a basic example which shows you how to solve a common problem:

library(tidyspec)

The data

head(CoHAspec)
#> # A tibble: 6 x 5
#>   Wavenumber CoHA01 CoHA025 CoHA05 CoHA100
#>        <dbl>  <dbl>   <dbl>  <dbl>   <dbl>
#> 1       399.  0.871    1.36  1.17    1.05 
#> 2       401.  0.893    1.24  1.05    0.925
#> 3       403.  0.910    1.20  0.997   0.876
#> 4       405.  0.914    1.19  0.982   0.867
#> 5       407.  0.908    1.18  0.965   0.857
#> 6       409.  0.887    1.14  0.936   0.828

Set the wavenumber column

set_spec_wn("Wavenumber")

check_wn_col()
#> The current wavenumber column is: Wavenumber

Plot the data

spec_smartplot(CoHAspec)

Static plot

Convert to trasmittance

CoHAspec |>
    spec_abs2trans() |>
    spec_smartplot(type = "transmittance")

Transmittance plot

Select the spectra

spec_select(CoHAspec, CoHA01) |>
  spec_smartplot(geom = "line")

CoHA01 plot

The future of tidyspec

Our plan is for tidyspec to be the first step toward a complete ecosystem for spectral data analysis. For spectral band analysis, we are creating the bandspec package that handles different band profiles. We also intend to create a package focused on producing publication-level graphics for spectral data. We haven’t thought of a name yet, so we welcome suggestions!