Type: | Package |
Title: | Plot FTIR Spectra |
Version: | 1.2.0 |
Description: | The goal of 'PlotFTIR' is to easily and quickly kick-start the production of journal-quality Fourier Transform Infra-Red (FTIR) spectral plots in R using 'ggplot2'. The produced plots can be published directly or further modified by 'ggplot2' functions. L'objectif de 'PlotFTIR' est de démarrer facilement et rapidement la production des tracés spectraux de spectroscopie infrarouge à transformée de Fourier (IRTF) de qualité journal dans R à l'aide de 'ggplot2'. Les tracés produits peuvent être publiés directement ou modifiés davantage par les fonctions 'ggplot2'. |
License: | GPL (≥ 3) |
Encoding: | UTF-8 |
LazyData: | true |
Imports: | cli, rlang, scales |
RoxygenNote: | 7.3.2 |
Depends: | R (≥ 3.3) |
Suggests: | testthat (≥ 3.0.0), withr, ggplot2 (≥ 3.0.0), gghighlight, ggthemes, knitr, rmarkdown, ir, ChemoSpec, R.utils, readJDX |
Config/testthat/edition: | 3 |
VignetteBuilder: | knitr |
BugReports: | https://github.com/NRCan/PlotFTIR/issues |
URL: | https://github.com/NRCan/PlotFTIR |
NeedsCompilation: | no |
Packaged: | 2025-03-31 15:11:21 UTC; pbulsink |
Author: | Philip Bulsink |
Maintainer: | Philip Bulsink <philip.bulsink@nrcan-rncan.gc.ca> |
Repository: | CRAN |
Date/Publication: | 2025-03-31 15:30:06 UTC |
PlotFTIR: Plot FTIR Spectra
Description
The goal of 'PlotFTIR' is to easily and quickly kick-start the production of journal-quality Fourier Transform Infra-Red (FTIR) spectral plots in R using 'ggplot2'. The produced plots can be published directly or further modified by 'ggplot2' functions. L'objectif de 'PlotFTIR' est de démarrer facilement et rapidement la production des tracés spectraux de spectroscopie infrarouge à transformée de Fourier (IRTF) de qualité journal dans R à l'aide de 'ggplot2'. Les tracés produits peuvent être publiés directement ou modifiés davantage par les fonctions 'ggplot2'.
Author(s)
Maintainer: Philip Bulsink philip.bulsink@nrcan-rncan.gc.ca (ORCID)
Other contributors:
Ulrich Makanda ulrich.makanda@nrcan-rncan.gc.ca (Translated documentation to French/Traduire la documentation en français) [translator]
His Majesty the King in Right of Canada, as represented by the Minister of Natural Resources [copyright holder]
See Also
Useful links:
Add GGPlot Layer below others
Description
Inserts a layer underneath the existing layers on a ggplot
object simply by calling plot
- layer
instead of the usual plot
+
layer
.
Insère un calque sous les calques existants sur un objet ggplot
simplement en appelant plot
- layer
au lieu de l'habituel plot
+
layer
.
Usage
## S3 method for class 'gg'
plot - layer
Arguments
plot |
The plot to which the layer should be added. Le tracé auquel le calque doit être ajouté. |
layer |
The layer to add to the plot. La couche à ajouter au tracé. |
Value
The ggplot2 plot
object, with layer layer
added underneath.
L'objet ggplot2 plot
, avec le calque layer
ajouté en dessous.
References
From https://stackoverflow.com/a/64011534
Add Band
Description
Add a shaded band (with optional text overlay) to a FTIR spectral region, to visually highlight an area.
Ajoutez une bande ombrée (avec un texte en option) à une région spectrale FTIR, pour mettre visuellement en évidence une zone.
Usage
add_band(
ftir_spectra_plot,
wavenumber_range,
text = NULL,
colour = NULL,
label_aesthetics = NULL
)
Arguments
ftir_spectra_plot |
A plot generated by Un tracé généré par |
wavenumber_range |
A vector of length two, with the wavenumber range of the shaded band. Order of provided limits is not important. Un vecteur de longueur deux, avec la gamme de nombres d'ondes de la bande ombrée. L'ordre des limites fournies n'est pas important. |
text |
The text of the label over the band (optional). Le texte de l'étiquette au-dessus du bande (facultatif). |
colour |
A colour for the shaded band. Note that alpha will be set to 0.5.
A default blue band will be added if not provided.
See Une couleur pour la bande ombrée. Notez que la valeur alpha est fixée à 0,5.
Une bande bleue sera ajoutée par défaut si aucune valeur n'est fournie.
Voir |
label_aesthetics |
A named Une |
Value
the FTIR plot as a ggplot2 object, with the shaded band added.
le tracé FTIR en tant qu'objet ggplot2, avec la bande ombrée ajoutée.
See Also
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
# Generate a plot
p <- plot_ftir(sample_spectra)
# Add a band to -OH region:
add_band(p, c(3600, 3100), "-OH Stretch")
}
Add or Subtract Scalar Value
Description
Add or subtract a constant (scalar) value to each data point in a FTIR spectra. Shifts the plot up or down on the y axis by the specified amount without any other change.
Ajoute ou soustrait une valeur constante (scalaire) à chaque point de données d'un spectre IRTF. Décale le tracé vers le haut ou vers le bas sur l'axe des y de la valeur spécifiée sans aucune autre modification.
Usage
add_scalar_value(ftir, value, sample_ids = NA)
subtract_scalar_value(ftir, value, sample_ids = NA)
Arguments
ftir |
A data.frame of FTIR spectral data including spectra to be shifted. Un data.frame de données spectrales IRTF comprenant les spectres à décalés. |
value |
The numeric value to add or subtract. Le valeur numerique d'ajute ou soustrait. |
sample_ids |
A vector of sample IDs to be shifted. All sample IDs must be present in the 'ftir' data.frame. If modifying all spectra, provide NA or NULL. Un vecteur d'identifiants d'échantillons dont la moyenne doit être décalée. Tous les identifiants des échantillons doivent être présents dans le data.frame 'ftir'. Si modifiez tous les spectres, indiquez NA ou NULL. |
Value
A data.frame containing the adjusted FTIR spectra.
Un data.frame contenant les spectres IRTF ajustee.
Examples
# Add 0.1 to each spectra in biodiesel
add_scalar_value(biodiesel, 0.1)
# Subtract 0.05 from biodiesel_0 and biodiesel_0_25
subtract_scalar_value(biodiesel, 0.05, sample_ids = c("biodiesel_0", "biodiesel_0_25"))
Add a Marker at a Wavenumber
Description
Add a vertical line marker, at a given wavenumber, to an FTIR plot, and label at the top of the plot with a provided text (or by default the wavenumber of the marker). This is useful for noting important wavenumbers.
This function can be called repeatedly. Note that older labels will be covered by newer labels if they overlap.
Ajoutez un marqueur de ligne verticale, à un nombre d'ondes donné, à un tracé FTIR, et l'étiquette en haut du tracé avec un texte fourni (ou par défaut le nombre d'ondes du marqueur). Cette fonction est utile pour noter les nombres d'ondes importants. Cette fonction peut être appelée plusieurs fois.
Notez que les vieux labels seront couverts par les nouveaux s'ils se chevauchent.
Usage
add_wavenumber_marker(
ftir_spectra_plot,
wavenumber,
text = NULL,
line_aesthetics = NULL,
label_aesthetics = NULL
)
Arguments
ftir_spectra_plot |
A plot generated by Un tracé généré par |
wavenumber |
the wavenumber at which the marker should be placed. le nombre d'ondes auquel le marqueur doit être placé. |
text |
The text of the label over the marker (optional). If no text is provided, the label will show the wavenumber (rounded to the nearest whole number). Le texte de l'étiquette au-dessus du marqueur (facultatif). Si aucun texte n'est fourni, l'étiquette indiquera le nombre d'ondes (arrondi au nombre entier le plus proche). |
line_aesthetics |
A named Une |
label_aesthetics |
A named Une |
Value
the FTIR plot as a ggplot2 object, with a marker added at the specified wavenumber.
le tracé IRTF en tant qu'objet ggplot2, avec un marqueur ajouté au nombre d'ondes spécifié.
See Also
See vignette("ggplot2-specs")
for more information on setting
aesthetics.
Voir vignette("ggplot2-specs")
pour plus d'informations sur la définition
de l'esthétique.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
# Generate a plot
biodiesel_plot <- plot_ftir(biodiesel)
# Add a marker at 1742 cm^-1 for the carbonyl C=O Stretch
p <- add_wavenumber_marker(biodiesel_plot, 1742, text = "C=O Stretch")
p
# Add a second marker and use a dashed line for the C-H aliphatic stretch
add_wavenumber_marker(p, 2920,
text = "C-H Stretch",
line_aesthetics = list("linetype" = "dashed")
)
}
Average FTIR Spectra
Description
Calculates an average of two or more spectra.
Calcule la moyenne de deux spectres ou plus.
Usage
average_spectra(ftir, sample_ids = NA, average_id = "averaged_spectra")
Arguments
ftir |
A data.frame of FTIR spectral data including spectra to be converted. Un data.frame de données spectrales IRTF comprenant les spectres à convertir. |
sample_ids |
A vector of sample IDs to be averaged together. All sample
IDs must be present in the Un vecteur d'identifiants d'échantillons dont la moyenne doit être
calculée.. Tous les identifiants des échantillons doivent être présents
dans le data.frame |
average_id |
The name to be used as Le nom à utiliser en tant que |
Value
A data.frame containing the averaged FTIR spectra, with sample_id
corresponding to the provided average_id
.
Un data.frame contenant les spectres IRTF moyennés, avec sample_id
correspondant à l'identifiant average_id
fourni.
Examples
# Calculate the average of biodiesel B5 spectra and the unknown spectra
average_spectra(biodiesel, c("biodiesel_5_0", "biodiesel_B5", "diesel_unknown"))
FTIR Bio-diesel data
Description
This dataset holds example data from an 5-Bounce ZnSe Attenuated Total Reflectance (ATR) FTIR instrument collected for biodiesel analysis. The biodiesel samples were purchased calibration standards or available on the Canadian commercial market in 2024.
The samples included in this data set are: * 'biodiesel_0' A calibration sample with 0.0 * 'biodiesel_0_25' A calibration sample with 0.25 * 'biodiesel_0_50' A calibration sample with 0.50 * 'biodiesel_1_0' A calibration sample with 1.0 * 'biodiesel_2_5' A calibration sample with 2.5 * 'biodiesel_5_0' A calibration sample with 5.0 * 'biodiesel_7_5' A calibration sample with 7.5 * 'biodiesel_10_0' A calibration sample with 10.0 * 'biodiesel_B0_5' A commercially available sample with approximately 0.5 * 'biodiesel_B5' A commercially available sample with approximately 5.0 * 'diesel_unknown' A commercially available sample with unknown biodiesel content.
Ce donnée contient des exemples de données provenant d'un instrument IRTF à réflectance totale atténuée (RTA) ZnSe à 5 rebonds collectées pour l'analyse du biodiesel. Les échantillons de biodiesel étaient des étalons d'étalonnage achetés ou disponibles sur le marché commercial canadien en 2024.
Les échantillons inclus dans cet ensemble de données sont : * ‘biodiesel_0' Un échantillon d’étalonnage avec 0,0 * ‘biodiesel_0_25' Un échantillon d’étalonnage avec 0,25 * ‘biodiesel_0_50' Un échantillon d’étalonnage avec 0,50 * ‘biodiesel_1_0' Un échantillon d’étalonnage avec 1,0 * ‘biodiesel_2_5' Un échantillon d’étalonnage avec 2,5 * ‘biodiesel_5_0' Un échantillon d’étalonnage avec 5,0 * ‘biodiesel_7_5' Un échantillon d’étalonnage avec 7,5 * ‘biodiesel_10_0' Un échantillon d’étalonnage avec 10,0 * 'biodiesel_B0_5' Un échantillon disponible dans le commerce contenant environ 0,5 * 'biodiesel_B5' Un échantillon disponible dans le commerce contenant environ 5,0 * 'diesel_unknown' Un échantillon disponible dans le commerce avec une teneur en biodiesel inconnue.
Usage
biodiesel
Format
The data is in a long format data.frame, ready for use, and with the following variables:
* 'wavenumber' wavenumber (x axis) value for each point. In units of wavenumbers (cm^-1). * 'absorbance' the absorbance of the sample at each specified wavenumber. * 'sample_id' the sample identity of the various included spectra.
Les données sont dans un format long data.frame, prêt à l'emploi, et avec les variables suivantes:
* ‘wavenmber' valeur du nombre d’onde (axe x) pour chaque point. En unités de nombres d'ondes (cm^-1). * ‘absorbance' l’absorbance de l'échantillon à chaque nombre d'onde spécifié. * ‘sample_id' identité d’échantillon des différents spectres inclus.
Check FTIR Data
Description
Check the provided FTIR data.frame is appropriate for manipulation or plotting. Not typically called directly, but as a function in data integrity check process before further calculation or plotting happens. Sets data.frame attribute 'intensity' to 'transmittance' or 'absorbance' if not previously set.
Vérifie que le data.frame IRTF fourni est approprié pour la manipulation ou le tracé. Cette fonction n'est généralement pas appelée directement, mais elle est utilisée dans le cadre du processus de vérification de l'intégrité des données avant tout autre calcul ou tracé. Définit l'attribut data.frame ‘intensity' à 'transmittance' ou 'absorbance' s’il n'a pas été défini auparavant.
Usage
check_ftir_data(ftir)
Arguments
ftir |
A data.frame of FTIR spectral data. Un data.frame de données spectrales IRTF. |
Value
Invisibly returns FTIR data if ok, or raises an error.
Renvoie de manière invisible les données IRTF si elles sont correctes, ou soulève une erreur.
Examples
# This returns (invisibly) the biodiesel data. If instead there was an issue
# with the data structure it would raise an error.
check_ftir_data(biodiesel)
'ChemoSec' to 'PlotFTIR' conversions
Description
Converts 'ChemoSpec' data to that ready to use by 'PlotFTIR'.
Convertit les données 'ChemoSpec' en données prêtes à être utilisées par 'PlotFTIR'.
Usage
chemospec_to_plotftir(csdata)
Arguments
csdata |
'ChemoSpec' data to convert to 'PlotFTIR.' Données 'ChemoSpec' a convertir à 'PlotFTIR'. |
Value
a data.frame compatible with 'PlotFTIR' functions
un data.frame compatible avec les fonctions 'PlotFTIR'.
See Also
[ChemoSpec::files2SpectraObject()] for import requirements, and [chemospec_to_plotftir()] for converting to 'PlotFTIR' format.
[ChemoSpec::files2SpectraObject()] pour les conditions d'importation, et [chemospec_to_plotftir()] pour la conversion au format 'PlotFTIR'.
Examples
if (requireNamespace("ChemoSpec", quietly = TRUE)) {
# convert `chemospec` to PlotFTIR data
data("SrE.IR", package = "ChemoSpec", envir = environment())
chemospec_to_plotftir(SrE.IR)
}
Compress Low-Energy Region
Description
Compress the lower energy region of a FTIR plot (on the x axis) to leave more space for the higher-energy region. This is commonly done for wavenumbers higher than 2000 cm^-1 as the more complex spectra at higher energy (lower wavenumber) is harder to see clearly.
Compressez la région de basse énergie d'un tracé d'IRTF (sur l'axe des x) pour laisser plus d'espace à la région de haute énergie. Cette opération généralement réalisée pour les nombres d'onde supérieurs à 2000 cm^-1, car les spectres plus complexes à houte énergie (nombre d'onde plus faible) sont plus difficiles à voir clairement.
Usage
compress_low_energy(ftir_spectra_plot, cutoff = 2000, compression_ratio = 2)
Arguments
ftir_spectra_plot |
A plot generated by [plot_ftir()] or [plot_ftir_stacked()]. Un tracé généré par [plot_ftir()] ou [plot_ftir_stacked()]. |
cutoff |
The wavenumber whereat those at lower energy will be compressed, but those above will be shown normally. Le nombre d'ondes où celles à faible énergie seront comprimées, mais celles au-dessus seront affichées normalement. |
compression_ratio |
A numeric value indicating the ratio by which to squeeze the data Une valeur numérique indiquant le rapport selon lequel compresser les données |
Value
the FTIR plot as a ggplot2 object, with x axis compressed for some wavenumber range
le tracé IRTF en tant qu'objet ggplot2, avec l'axe des x comprimé pour une certaine gamme de nombres d'ondes
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
# Generate a plot
biodiesel_plot <- plot_ftir(biodiesel)
# Compress below 2000 cm^-1 by a factor of 5
compress_low_energy(biodiesel_plot, cutoff = 2000, compression_ratio = 5)
}
Compression Transformation
Description
used in 'compress_low_energy()' utilisé en 'compress_low_energy'()'
Usage
compress_trans(intercept = 2000, ratio = 5)
Arguments
intercept |
the wavenumber at which compression starts le nombre d'onde auquel la compression commence |
ratio |
the rate of compression (larger numbers are more compressed) le taux de compression (des nombres plus grands sont plus compressés) |
References
From https://stackoverflow.com/a/43321639 & https://stackoverflow.com/a/78360580
Convert Between Absorbance and Transmittance
Description
These functions allow for the convenient conversion between %Transmittance and Absorbance units for the Y axis.
Converting between %Transmittance and absorbance units for the Y axis is not a simple flipping of axis or inversion. Instead, the two are related by the following formulas:
A=-log_{10}(\tfrac{\%T}{100})
and
\%T=10^{-A}\cdot 100
.
Ces fonctions permettent une conversion pratique entre les unités %Transmittance et Absorbance pour l'axe Y. La conversion entre les unités %Transmittance et Absorbance pour l'axe Y n'est pas un simple retournement d'axe ou une inversion. Au lieu de cela, les deux sont liés par les formules suivantes :
A=-log_{10}(\tfrac{\%T}{100})
and
\%T=10^{-A}\cdot 100
Usage
absorbance_to_transmittance(ftir)
transmittance_to_absorbance(ftir)
Arguments
ftir |
A data.frame of FTIR spectral data including column to be converted. Can't contain both 'absorbance' and 'transmittance' column as the receiving column would be overwritten Un data.frame de données spectrales IRTF incluant la colonne à convertir. Ne peut pas contenir les colonnes 'absorbance' et 'transmittance' car la colonne de réception serait écrasée. |
Value
a data.frame of FTIR spectral data with conversion between absorbance or transmittance as requested. Note the original data column is removed since FTIR spectral data frames can't be fed into plotting functions with both transmittance and absorbance data included.
un data.frame de données spectrales IRTF avec conversion entre l'absorbance ou la transmittance comme demandé. Notez que la colonne de données d'origine est supprimée car les trames de données spectrales IRTF ne peuvent pas être introduites dans les fonctions de tracé avec les données de transmittance et d'absorbance incluses.
Examples
# Convert from absorbance to transmittance
sample_spectra_transmittance <- absorbance_to_transmittance(sample_spectra)
# Convert back to absorbance
sample_spectra_absorbance <- transmittance_to_absorbance(sample_spectra_transmittance)
Get Plot Sample IDs
Description
Get the sample IDs from a prepared plot. Useful if renaming in the plot legend.
Obtenez les ID d’échantillon à partir d’un tracé préparé. Utile si vous renommez dans la légende de le tracé
Usage
get_plot_sample_ids(ftir_spectra_plot)
Arguments
ftir_spectra_plot |
A plot generated by [plot_ftir()] or [plot_ftir_stacked()]. Un tracé généré par [plot_ftir()] ou [plot_ftir_stacked()]. |
Value
A vector of factors corresponding to the sample IDs in the plot.
unvecteur de facteurs correspondant aux ID d'échantillon dans le tracé
See Also
[rename_plot_sample_ids()]
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
# Prepare a plot
p <- plot_ftir(biodiesel)
# Get the Sample IDs
get_plot_sample_ids <- (p)
}
Highlight Sample Spectra
Description
Highlight one or more sample spectra on a spectral image. Changes all un-selected sample_id
s to grey lines. Requires gghighlight::gghighlight()
to function.
Surligne un ou plusieurs spectres d'échantillons sur une image spectrale. Change tous les spectres sample_id
s non sélectionnés en lignes grises. Nécessite gghighlight::gghighlight()
pour fonctionner.
Usage
highlight_sample(ftir_spectra_plot, sample_ids, ...)
Arguments
ftir_spectra_plot |
A plot generated by Un tracé généré par |
sample_ids |
A vector of one or more Un vecteur d'un ou plusieurs |
... |
Additional parameters to pass to Paramètres supplémentaires à passer à |
Value
the FTIR plot as a ggplot2 object, with selected sample spectra highlighted.
le tracé FTIR en tant qu'objet ggplot2, avec les spectres de l'échantillon sélectionné soulignier.
See Also
Examples
if (requireNamespace("ggplot2", quietly = TRUE) & requireNamespace("gghighlight", quietly = TRUE)) {
# Generate a plot
p <- plot_ftir(sample_spectra)
# Highlight one sample:
highlight_sample(p, "isopropanol")
}
Intensity Type
Description
Determines if the provided data has intensity type of absorbance or transmittance.
Usage
intensity_type(ftir)
Arguments
ftir |
A data.frame of FTIR spectral data including column to be converted. Can't contain both 'absorbance' and 'transmittance' column as the receiving column would be overwritten Un data.frame de données spectrales IRTF incluant la colonne à convertir. Ne peut pas contenir les colonnes 'absorbance' et 'transmittance' car la colonne de réception serait écrasée. |
Value
a character value 'absorbance' or 'transmittance'
Convert 'ir' to 'PlotFTIR' data format
Description
convert data from the 'ir' package to a structure that will work with 'PlotFTIR'.
convertir les données du paquet 'ir' en une structure qui fonctionnera avec 'PlotFTIR'.
Usage
ir_to_plotftir(ir_data, what = NA)
Arguments
ir_data |
data of class 'ir' from 'ir' package données de la classe 'ir' du paquet 'ir'. |
what |
which samples to convert to 'PlotFTIR' format. Defaults to all available spectra. les échantillons à convertir au format 'PlotFTIR'. Par défaut, tous les spectres disponibles |
Value
a data.frame compatible with 'PlotFTIR' functions
un data.frame compatible avec les fonctions 'PlotFTIR'.
See Also
[ir::ir_get_spectrum()] for information on how ir passes out data.
Examples
if (requireNamespace("ir", quietly = TRUE)) {
# Convert samples 1 & 4 to PlotFTIR format
ir_to_plotftir(ir::ir_sample_data, c(1, 4))
}
Move Plot Legend
Description
A shortcut to basic plot legend modifications. The plot legend can be moved to different locations, justifieid in those locations, and/or changed from vertical to horizontal. By default, legends are positioned with 'position = "right"', 'justification = "center"', and 'direction = "vertical"'.
For more complex legend manipulation please perform using [ggplot::theme()] controls directly on the plot object. More information at [https://ggplot2.tidyverse.org/reference/theme.html](https://ggplot2.tidyverse.org/reference/theme.html#examples).
Un raccourci vers les modifications de base de la légende du tracé. La légende du tracé peut être déplacée à différents emplacements, justifiée à ces endroits et/ou modifiée de verticale à horizontale. Par défaut, les légendes sont positionnées avec 'position = "right"', 'justification = "center"' et 'direction = "vertical"'.
Pour une manipulation plus complexe de légende, veuillez utiliser les contrôles [ggplot::theme()] directement sur l'objet de tracé. Pour plus d'informations, voir [https://ggplot2.tidyverse.org/reference/theme.html](https://ggplot2.tidyverse.org/reference/theme.html#examples).
Usage
move_plot_legend(
ftir_spectra_plot,
position = NULL,
justification = NULL,
direction = NULL,
legend_title_position = NULL
)
Arguments
ftir_spectra_plot |
A plot generated by [plot_ftir()] or [plot_ftir_stacked()]. Un tracé généré par [plot_ftir()] ou [plot_ftir_stacked()]. |
position |
Position for the legend. One of '"none"', '"left"', '"right"', '"bottom"', or '"top"'. Position pour la légende. Un des '"none"', '"left"', '"right"', '"bottom"', ou '"top"'. |
justification |
Justification for the legend. One of '"top"', '"bottom"', '"center"', '"left"', or '"right"'. Justification de la légende. Un des '"top"', '"bottom"', '"center"', '"left"', ou '"right"'. |
direction |
Direction for the legend. One of '"horizontal"' or '"vertical"'. Direction de la légende. L'un des '"horizontal"' ou '"vertical"'. |
legend_title_position |
A position for the legend title relative to the legend items. One of '"top"', '"right"', '"left"', or '"bottom"'. Une position pour le titre de la légende par rapport aux éléments de légende. Un des '"top"', '"right"', '"left"', ou '"bottom"'. |
Value
the FTIR plot as a ggplot2 object, with legend relocated as required.
le tracé IRTF en tant qu'objet ggplot2, avec la légende déplacée si nécessaire
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
# Generate a plot
p <- plot_ftir(sample_spectra)
# Move legend to bottom:
move_plot_legend(p, position = "bottom", direction = "horizontal")
}
Normalize FTIR spectra
Description
Normalizing spectra restricts the range of absorbance values from 0 to 1 inclusive. This function shifts and scales spectra to achieve this absorbance range. It can be applied to a whole spectral set or just one sample, and across the entire spectra or by normalizing within a wavenumber region. This function does not operate on transmittance data, it will return an error.
La normalisation des spectres restreint la gamme des valeurs d'absorbance de 0 à 1 inclus. Cette fonction décale et met à l'échelle les spectres pour atteindre cette gamme d'absorbance. Elle peut être appliquée à un ensemble de spectres ou à un seul échantillon, et sur l'ensemble des spectres ou en normalisant dans une région de nombre d'ondes. Cette fonction ne fonctionne pas sur les données de transmittance, elle renverra une erreur.
Usage
normalize_spectra(ftir, sample_ids = NA, wavenumber_range = NA)
Arguments
ftir |
A data.frame of FTIR spectral data including spectra to be baseline adjusted. Un data.frame de données spectrales IRTF comprenant les spectres à ajuster à la ligne de base. |
sample_ids |
A vector of sample IDs to be adjusted. All sample IDs must
be present in the Un vecteur d'ID d'échantillons à ajuster Tous les ID d'échantillons doivent
être présents dans la base de données |
wavenumber_range |
If specifying a single point wavenumber; a single numeric value. If specifying a wavenumber range, then a vector of two numeric values. Si l'on spécifie un nombre d'ondes ponctuel, une seule valeur numérique. Si l'on spécifie un nombre d'ondes, alors un vecteur de deux valeurs numériques. |
Value
A data.frame containing the adjusted FTIR spectra.
Un data.frame contenant les spectres IRTF ajustee.
Examples
# Normalize all samples in `biodiesel`
normalize_spectra(biodiesel)
# Normalize just `paper` and `isopropanol` spectra from 4000 to 3100 cm^-1^
normalize_spectra(sample_spectra,
sample_ids = c("paper", "isopropanol"),
wavenumber_range = c(4000, 3100)
)
Plot FTIR Spectra Overlaid
Description
Produce a basic spectra overlay plot for all samples found in the FTIR dataset provided.
Produisez un tracé de base de superposition de spectres pour tous les échantillons trouvés dans l'ensemble de données IRTF fourni.
Usage
plot_ftir(
ftir,
plot_title = "FTIR Spectra",
legend_title = "Sample ID",
lang = NA
)
Arguments
ftir |
A data.frame in long format with columns 'sample_id', 'wavenumber', and 'absorbance'. The 'absorbance' column may be replaced by a 'transmittance' column for transmittance plots. The code determines the correct y axis units and labels the plot/adjusts the margins appropriately. Un data.frame au format long avec les colonnes 'sample_id', 'wavenumber', et 'absorbance'. La colonne 'absorbance' peut être remplacée par une colonne 'transmittance' pour les tracés de transmission. Le code détermine les unités correctes de l'axe y et étiquette le tracé/ajuste les marges de manière appropriée. |
plot_title |
A title for a plot. Defaults to "FTIR Spectra". If a vector length two, the second element will be used for a subtitle. Un titre pour une trace. La valeur par défaut est «FTIR Spectra». Si un vecteur mesure deux, le deuxième élément sera utilisé pour un sous-titre. |
legend_title |
A title for the legend. Defaults to "Sample ID". Un titre pour la légende. La valeur par défaut est «Sample ID». |
lang |
An optional argument for language. If set to one of 'fr', 'french', 'francais', or 'français' the axis and default plot and legend titles will change to french. If non-default legend or plot titles are provided they are used as-is. You can also provide 'en', 'english' or 'anglais', or (the default) 'NA' will use the default language from user options. To set a permanent default, set 'options("PlotFTIR.lang" = "en")' or 'options("PlotFTIR.lang" = "fr")' for English or French, respectively. Un argument optionnel pour la langue. S'il vaut 'Fr', 'French', 'Francais', ou ‘Français', l’axe et les titres par défaut de le tracé et du légende seront en français. Si des titres du légende ou de tracé autres que ceux par défaut sont fournis, ils seront utilisés tels quels. Vous pouvez aussi fournir 'en', 'english' ou 'anglais', ou (le défaut) 'NA' qui utilisera le langue par défaut des options de l'utilisateur. Pour définir une valeur par défaut permanente, mettez 'options("PlotFTIR.lang" = "en")' ou ‘options("PlotFTIR.lang" = "fr")' pour l’anglais ou le français, respectivement. |
Value
a ggplot object containing a FTIR spectral plot. The plot and legend titles are as provided, with each sample provided a different default color. Because this is a ggplot object, any other ggplot modifiers, layers, or changes can be applied to the returned object. Further manipulations can be performed by this package. Peut également fournir 'en', 'english' ou 'anglais'.
un objet ggplot contenant un tracé spectral IRTF. Les titres de le tracé et de la légende sont tels que fournis, avec une couleur par défaut différente pour chaque échantillon. Puisqu'il s'agit d'un objet ggplot, tous les autres modificateurs, calques ou changements ggplot peuvent être appliqués à l'objet retourné. D'autres manipulations peuvent être effectuées par ce package.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
# Plot a basic FTIR Spectra overlay from the `sample_spectra` data set with default titles
plot_ftir(sample_spectra)
}
PlotFTIR core plot generator
Description
Plot the FTIR spectra in a journal prepared format. Call [plot_ftir()] for basic (overlaid) plots and [plot_ftir_stacked()] for stacked and offset plots.
Tracez les spectres IRTF dans un format préparé par un journal. Appelez [plot_ftir()] pour les tracés de base (superposés) et [plot_ftir_stacked()] pour les tracés empilés et décalés.
Usage
plot_ftir_core(
ftir,
plot_title = "FTIR Spectra",
legend_title = "Sample ID",
lang = NA
)
Arguments
ftir |
A data.frame in long format with columns 'sample_id', 'wavenumber', and 'absorbance'. The 'absorbance' column may be replaced by a 'transmittance' column for transmittance plots. The code determines the correct y axis units and labels the plot/adjusts the margins appropriately. Un data.frame au format long avec les colonnes 'sample_id', 'wavenumber', et 'absorbance'. La colonne 'absorbance' peut être remplacée par une colonne 'transmittance' pour les tracés de transmission. Le code détermine les unités correctes de l'axe y et étiquette le tracé/ajuste les marges de manière appropriée. |
plot_title |
A title for a plot. Defaults to "FTIR Spectra". If a vector length two, the second element will be used for a subtitle. Un titre pour une trace. La valeur par défaut est «FTIR Spectra». Si un vecteur mesure deux, le deuxième élément sera utilisé pour un sous-titre. |
legend_title |
A title for the legend. Defaults to "Sample ID". Un titre pour la légende. La valeur par défaut est «Sample ID». |
lang |
An optional argument for language. If set to one of 'fr', 'french', 'francais', or 'français' the axis and default plot and legend titles will change to french. If non-default legend or plot titles are provided they are used as-is. You can also provide 'en', 'english' or 'anglais', or (the default) 'NA' will use the default language from user options. To set a permanent default, set 'options("PlotFTIR.lang" = "en")' or 'options("PlotFTIR.lang" = "fr")' for English or French, respectively. Un argument optionnel pour la langue. S'il vaut 'Fr', 'French', 'Francais', ou ‘Français', l’axe et les titres par défaut de le tracé et du légende seront en français. Si des titres du légende ou de tracé autres que ceux par défaut sont fournis, ils seront utilisés tels quels. Vous pouvez aussi fournir 'en', 'english' ou 'anglais', ou (le défaut) 'NA' qui utilisera le langue par défaut des options de l'utilisateur. Pour définir une valeur par défaut permanente, mettez 'options("PlotFTIR.lang" = "en")' ou ‘options("PlotFTIR.lang" = "fr")' pour l’anglais ou le français, respectivement. |
Value
a ggplot object containing a FTIR spectral plot. The plot and legend titles are as provided, with each sample provided a different default color. Because this is a ggplot object, any other ggplot modifiers, layers, or changes can be applied to the returned object. Further manipulations can be performed by this package. Peut également fournir 'en', 'english' ou 'anglais'.
un objet ggplot contenant un tracé spectral IRTF. Les titres de le tracé et de la légende sont tels que fournis, avec une couleur par défaut différente pour chaque échantillon. Puisqu'il s'agit d'un objet ggplot, tous les autres modificateurs, calques ou changements ggplot peuvent être appliqués à l'objet retourné. D'autres manipulations peuvent être effectuées par ce package.
See Also
[zoom_in_on_range()] to 'zoom' into a specified range, [compress_low_energy()] to make the x axis non-linear (compressing lower energy regions), [add_wavenumber_marker()] to add markers to highlight important wavenumbers, and [move_plot_legend()] to modify the legend position.
[zoom_in_on_range()] pour 'zoomer' sur une gamme spécifiée, [compress_low_energy()] pour rendre l'axe x non linéaire (en compression les régions à basse énergie), [add_wavenumber_marker()] pour ajouter des marqueurs afin de mettre en évidence les nombres d'ondes importants, et [move_plot_legend()] pour modifier la position de la légende.
Plot FTIR in stacked format
Description
Plot the FTIR spectra in a journal prepared format. It may be desirable to plot spectra 'stacked and offset' by a certain amount. In this case the y axis becomes non-labelled and each charts baseline (0 for absorbance or 100 for transmittance) is offset by a certain amount.
Tracez les spectres IRTF dans un format préparé par un journal. Il peut être souhaitable de tracer les spectres 'empilés et décalés' d'une certaine quantité. Dans ce cas l'axe y devient non étiqueté et chaque ligne de base du graphique (0 pour absorbance ou 100 pour la transmittance) est décalée d'une certaine quantité.
Usage
plot_ftir_stacked(
ftir,
plot_title = "FTIR Spectra",
legend_title = "Sample ID",
stack_offset = 10,
lang = NA
)
Arguments
ftir |
A data.frame in long format with columns 'sample_id', 'wavenumber', and 'absorbance'. The 'absorbance' column may be replaced by a 'transmittance' column for transmittance plots. The code determines the correct y axis units and labels the plot/adjusts the margins appropriately. Un data.frame au format long avec les colonnes 'sample_id', 'wavenumber', et 'absorbance'. La colonne 'absorbance' peut être remplacée par une colonne 'transmittance' pour les tracés de transmission. Le code détermine les unités correctes de l'axe y et étiquette le tracé/ajuste les marges de manière appropriée. |
plot_title |
A title for a plot. Defaults to "FTIR Spectra". If a vector length two, the second element will be used for a subtitle. Un titre pour une trace. La valeur par défaut est «FTIR Spectra». Si un vecteur mesure deux, le deuxième élément sera utilisé pour un sous-titre. |
legend_title |
A title for the legend. Defaults to "Sample ID". Un titre pour la légende. La valeur par défaut est «Sample ID». |
stack_offset |
The amount in percentage of stacking offset to use. For transmittance this is directly linked to the units of Y axis, for absorbance this is about 0.2 absorbance units. Le montant en pourcentage de décalage d'empilement à utiliser. Pour transmittance, cette valeur est directement liée aux unités de l'axe y, pour l'absorbance cela représente environ 0,2 unités d'absorbance. |
lang |
An optional argument for language. If set to one of 'fr', 'french', 'francais', or 'français' the axis and default plot and legend titles will change to french. If non-default legend or plot titles are provided they are used as-is. You can also provide 'en', 'english' or 'anglais', or (the default) 'NA' will use the default language from user options. To set a permanent default, set 'options("PlotFTIR.lang" = "en")' or 'options("PlotFTIR.lang" = "fr")' for English or French, respectively. Un argument optionnel pour la langue. S'il vaut 'Fr', 'French', 'Francais', ou ‘Français', l’axe et les titres par défaut de le tracé et du légende seront en français. Si des titres du légende ou de tracé autres que ceux par défaut sont fournis, ils seront utilisés tels quels. Vous pouvez aussi fournir 'en', 'english' ou 'anglais', ou (le défaut) 'NA' qui utilisera le langue par défaut des options de l'utilisateur. Pour définir une valeur par défaut permanente, mettez 'options("PlotFTIR.lang" = "en")' ou ‘options("PlotFTIR.lang" = "fr")' pour l’anglais ou le français, respectivement. |
Value
a ggplot object containing a FTIR spectral plot. The plot and legend titles are as provided, with each sample provided a different default color. Because this is a ggplot object, any other ggplot modifiers, layers, or changes can be applied to the returned object. Further manipulations can be performed by this package. Peut également fournir 'en', 'english' ou 'anglais'.
un objet ggplot contenant un tracé spectral IRTF. Les titres de le tracé et de la légende sont tels que fournis, avec une couleur par défaut différente pour chaque échantillon. Puisqu'il s'agit d'un objet ggplot, tous les autres modificateurs, calques ou changements ggplot peuvent être appliqués à l'objet retourné. D'autres manipulations peuvent être effectuées par ce package.
See Also
[zoom_in_on_range()] to 'zoom' into a specified range, [compress_low_energy()] to make the x axis non-linear (compressing lower energy regions), [add_wavenumber_marker()] to add markers to highlight important wavenumbers, and [move_plot_legend()] to modify the legend position.
[zoom_in_on_range()] pour 'zoomer' sur une gamme spécifiée, [compress_low_energy()] pour rendre l'axe x non linéaire (en compression les régions à basse énergie), [add_wavenumber_marker()] pour ajouter des marqueurs afin de mettre en évidence les nombres d'ondes importants, et [move_plot_legend()] pour modifier la position de la légende.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
# Plot FTIR spectras stacked showing the differences in the `biodiesel` dataset
plot_ftir_stacked(biodiesel)
}
Convert 'PlotFTIR' data to 'ChemoSpec' format
Description
Converts 'PlotFTIR' data to that ready to use by the 'ChemoSpec' package.
Convertit les données 'PlotFTIR' en données prêtes à être utilisées par le paquet 'ChemoSpec'.
Usage
plotftir_to_chemospec(
ftir,
group_crit = NA,
group_colours = "auto",
description = "FTIR Study"
)
Arguments
ftir |
A data.frame in long format with columns 'sample_id', 'wavenumber', and 'absorbance'. The 'absorbance' column may be replaced by a 'transmittance' column for transmittance plots. The code determines the correct y axis units and labels the plot/adjusts the margins appropriately. Un data.frame au format long avec les colonnes 'sample_id', 'wavenumber', et 'absorbance'. La colonne 'absorbance' peut être remplacée par une colonne 'transmittance' pour les tracés de transmission. Le code détermine les unités correctes de l'axe y et étiquette le tracé/ajuste les marges de manière appropriée. |
group_crit |
A vector of character strings. Corresponds to [ChemoSpec::files2SpectraObject()] 'gr.crit' parameter. Un vecteur de chaînes de caractères. Correspond au paramètre 'gr.crit' de [ChemoSpec::files2SpectraObject()]. |
group_colours |
Group colours. Corresponds to [ChemoSpec::files2SpectraObject()] 'gr.cols' parameter. Couleurs du groupe. Correspond au paramètre 'gr.cols' de [ChemoSpec::files2SpectraObject()]. |
description |
A description of the experiment. Corresponds to [ChemoSpec::files2SpectraObject()] 'descrip' parameter. Description de l'expérience. Correspond au paramètre 'descrip' de [ChemoSpec::files2SpectraObject()]. |
Value
A 'ChemoSpec' data object
Un objet de données 'ChemoSpec'
See Also
[ChemoSpec::files2SpectraObject()] for import requirements, and [chemospec_to_plotftir()] for converting to 'PlotFTIR' format.
[ChemoSpec::files2SpectraObject()] pour les conditions d'importation, et [chemospec_to_plotftir()] pour la conversion au format 'PlotFTIR'.
Examples
if (requireNamespace("ChemoSpec", quietly = TRUE) && interactive()) {
# convert biodiesel to a `chemospec` object
plotftir_to_chemospec(biodiesel)
}
Convert 'PlotFTIR' data to 'ir'
Description
Converts 'PlotFTIR' data to that ready to use by the 'ir' package.
Convertit les données 'PlotFTIR' en données prêtes à être utilisées par le paquet 'ir'.
Usage
plotftir_to_ir(ftir, metadata = NA)
Arguments
ftir |
A data.frame in long format with columns 'sample_id', 'wavenumber', and 'absorbance'. The 'absorbance' column may be replaced by a 'transmittance' column for transmittance plots. The code determines the correct y axis units and labels the plot/adjusts the margins appropriately. Un data.frame au format long avec les colonnes 'sample_id', 'wavenumber', et 'absorbance'. La colonne 'absorbance' peut être remplacée par une colonne 'transmittance' pour les tracés de transmission. Le code détermine les unités correctes de l'axe y et étiquette le tracé/ajuste les marges de manière appropriée. |
metadata |
Additional data to pass to 'ir' to include as metadata. Should be structured as a data.frame. Données supplémentaires à transmettre à 'ir' pour les inclure dans les métadonnées. Doit être structuré comme un data.frame. |
Value
an 'ir' classed data.frame structured for use in that package.
un data.frame de classe 'ir' structuré pour être utilisé dans ce paquet.
See Also
[ir::ir_new_ir()] for information on how ir takes in data.
Examples
if (requireNamespace("ir", quietly = TRUE)) {
# convert biodiesel to a `ir` object
plotftir_to_ir(biodiesel,
metadata = data.frame("Biodiesel_Content" = c(0, 0.25, 0.5, 1, 2.5, 5, 7.5, 10, 0.5, 5, NA))
)
}
Read FTIR file
Description
Reads a provided file and returns a data.frame in the proper format for PlotFTIR functions.
Lit un fichier fourni et renvoie un data.frame dans le format approprié pour les fonctions PlotFTIR.
Usage
read_ftir(path = ".", file = NA, sample_name = NA, ...)
Arguments
path |
Path to the file. Default is the current working directory, as Chemin d'accès au fichier. Par défaut, il s'agit du répertoire de travail actuel, sous la forme |
file |
File name, required. If the file and path are provided together as Nom du fichier, obligatoire. Si le fichier et le chemin sont fournis ensemble en tant que |
sample_name |
Name for sample_id column in the returned data.frame. If not provided, the file name is used without the extension. Nom de la colonne sample_id dans le data.frame renvoyé. S'il n'est pas fourni, le nom du fichier est utilisé sans l'extension. |
... |
Additional parameters to pass to the file reading function. For CSV files, see Paramètres supplémentaires à transmettre à la fonction de lecture de fichier. Pour les fichiers CSV, voir |
Value
a data.frame containing the spectral data from the file.
un data.frame contenant les données spectrales du fichier.
See Also
Examples
# Writing a temporary file to read later
tf <- tempfile(fileext = ".csv")
write.csv(sample_spectra[sample_spectra$sample_id == "paper", c("wavenumber", "absorbance")],
file = tf, row.names = FALSE
)
# Read the .csv file and call the sample `sample1`
read_ftir(tf, sample_name = "sample1")
Read FTIR file
Description
Reads provided files and returns a data.frame in the proper format for PlotFTIR functions.
Lit les fichiers fournis et renvoie un data.frame au format approprié pour les fonctions PlotFTIR.
Usage
read_ftir_directory(path, files, sample_names = NA, ...)
Arguments
path |
Path to the file. Default is the current working directory, as Chemin d'accès au fichier. Par défaut, il s'agit du répertoire de travail actuel, sous la forme |
files |
File names, required. Noms de fichiers, obligatoires. |
sample_names |
Name for sample_id column in the returned data.frame. If not provided, the file names are used without the extension. Nom de la colonne sample_id dans le data.frame renvoyé. S'il n'est pas fourni, les noms de fichiers sont utilisés sans l'extension. |
... |
Additional parameters to pass to the file reading function. For CSV files, see Paramètres supplémentaires à transmettre à la fonction de lecture de fichier. Pour les fichiers CSV, voir |
Value
a data.frame containing the spectral data from the files.
un data.frame contenant les données spectrales des fichiers.
See Also
Examples
# Putting some files in a temp dir to read back into PlotFTIR:
td <- tempdir()
write.csv(sample_spectra[sample_spectra$sample_id == "paper", c("wavenumber", "absorbance")],
file = file.path(td, "ftir_sample_1.csv"), row.names = FALSE
)
write.csv(sample_spectra[sample_spectra$sample_id == "toluene", c("wavenumber", "absorbance")],
file = file.path(td, "ftir_sample_2.csv"), row.names = FALSE
)
# Read .csv files from the temp directory and call them `sample-1` and `sample-2`
read_ftir_directory(td, c("ftir_sample_1.csv", "ftir_sample_2.csv"), c("sample-1", "sample-2"))
Recalculate Baseline
Description
It may be desired to shift the baseline signal (0 for absorbance or 100 for transmittance) to aid in plotting the spectra. This can be done for all samples or a subset, using the same shift for all adjusted samples or calculated individually.
Recalculate or shift to baseline/max transmittance can be done following one of a few methods:
To shift baseline based on the value at a given wavenumber:
recalculate_baseline(ftir, wavenumber_range = [numeric], method = 'point')
To shift baseline based on the average value across a provided wavenumber range:
recalculate_baseline(ftir, wavenumber_range = c([numeric], [numeric]), method = 'average')
To shift baseline based on the value at the single lowest point of absorbance (or highest point of transmittance) across the whole spectra
recalculate_baseline(ftir, method = 'minimum')
To shift baseline based on the value at the single lowest point of absorbance (or highest point of transmittance) in a given range
recalculate_baseline(ftir, wavenumber_range = c([numeric], [numeric]), method = 'minimum')
To perform the exact same baseline adjustment on all samples, specify
individually = FALSE
. To adjust with a unique determination for each
sample, specify individualy = TRUE
.
Il peut être souhaitable de décaler le signal de la ligne de base (0 pour l'absorbance ou 100 pour la transmittance) pour faciliter le tracé des spectres. Cela peut être fait pour tous les échantillons ou un sous-ensemble, en utilisant le même décalage pour tous les échantillons ajustés ou calculés individuellement.
Le recalcul ou le décalage de la ligne de base/transmittance maximale peut être effectué en suivant l'une des méthodes suivantes :
Pour décaler la ligne de base en fonction de la valeur à un nombre d'ondes donné :
recalculate_baseline(ftir, wavenumber_range = [numeric], method = 'point')
Pour décaler la ligne de base en fonction de la valeur moyenne sur un nombre d'ondes donné : #'
recalculate_baseline(ftir) = [numerique], method = 'point')
recalculate_baseline(ftir, wavenumber_range = c(numeric, numeric), method = 'average')'Pour décaler la ligne de base en fonction de la valeur du point d'absorbance le plus bas (ou du point de transmittance le plus élevé) sur l'ensemble des spectres.
recalculate_baseline(ftir, method = 'minimum')
Décaler la ligne de base en fonction de la valeur du point d'absorbance le plus bas (ou du point de transmittance le plus élevé) dans une gamme donnée.
recalculate_baseline(ftir, wavenumber_range = c([numeric], [numeric]), method = 'minimum')
Pour effectuer exactement le même ajustement de la ligne de base sur tous les échantillons, spécifiez
individually = FALSE
. Pour ajuster avec une détermination unique pour chaque échantillon, spécifiezindividualy = TRUE
.
Usage
recalculate_baseline(
ftir,
sample_ids = NA,
wavenumber_range = NA,
method = "average",
individually = TRUE
)
Arguments
ftir |
A data.frame of FTIR spectral data including spectra to be baseline adjusted. Un data.frame de données spectrales IRTF comprenant les spectres à ajuster à la ligne de base. |
sample_ids |
A vector of sample IDs to be adjusted. All sample IDs must
be present in the Un vecteur d'ID d'échantillons à ajuster Tous les ID d'échantillons doivent
être présents dans la base de données |
wavenumber_range |
If specifying a single point wavenumber; a single numeric value. If specifying a wavenumber range, then a vector of two numeric values. Si l'on spécifie un nombre d'ondes ponctuel, une seule valeur numérique. Si l'on spécifie un nombre d'ondes, alors un vecteur de deux valeurs numériques. |
method |
One of three values:
|
individually |
If adjusting all samples by the same amount, specify
Si vous ajustez tous les échantillons de la même manière, spécifiez |
Value
A data.frame containing the adjusted FTIR spectra.
Un data.frame contenant les spectres IRTF ajustee.
Examples
# Adjust the biodiesel spectra to minimum for each sample
recalculate_baseline(biodiesel, method = "minimum", individually = TRUE)
Rename Sample IDs in Plot
Description
This function permits renaming Sample IDs as shown in the legend of a plot. While typically having proper names assigned in the data is preferred, this function allows for names to be modified after plot creation.
Cette fonction permet de renommer les identifiants des échantillons dans la légende d'un tracé. Bien qu'il soit préférable d'attribuer les noms appropriés dans les données, cette fonction permet de modifier les noms après la création du tracé.
Usage
rename_plot_sample_ids(ftir_spectra_plot, sample_ids)
Arguments
ftir_spectra_plot |
A plot generated by Un tracé généré par |
sample_ids |
A named vector of format Un vecteur nommé du format |
Value
the FTIR plot as a ggplot2 object, with samples renamed in the legend.
le tracé IRTF en tant qu'objet ggplot2, avec les échantillons renommés dans la légende.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
# Generate a plot
p <- plot_ftir(sample_spectra)
# Rename Samples in Legend:
new_ids <- c(
"Toluene" = "toluene", "C7 Alkanes" = "heptanes", "IPA" = "isopropanol",
"White Paper" = "paper", "PS Film" = "polystyrene"
)
rename_plot_sample_ids(p, new_ids)
}
FTIR example data
Description
This dataset holds example data from Attenuated Total Reflectance (ATR) type FTIR instruments. Solvents were collected on 5-Bounce ZnSe ATR-FTIR and solids were collected on a 1-Bounce Diamond ATR-FTIR.
The samples included in this data set are: * 'toluene' a FTIR spectra of toluene. * 'isopropanol' a FTIR spectra of isopropanol. * 'heptanes' a FTIR spectra of heptanes. * 'paper' a FTIR spectra of a commercially available white paper. * 'polystyrene' a FTIR spectra of polystyrene film.
Ce donnée contient des exemples de données provenant d'instruments IRTF de type réflectance totale atténuée (RTA). Les solvants ont été collectés sur un RTA-IRTF ZnSe à 5 rebonds et les solides ont été collectés sur un RTA-IRTF diamant à 1 rebond.
Les échantillons inclus dans cet ensemble de données sont : * 'toluene' un spectre IRTF du toluène. * ‘isopropanol' un spectre IRTF de l’isopropanol. * ‘heptanes' un spectre IRTF d’heptanes. * ‘paper' un spectre IRTF d’un livre blanc disponible dans le commerce. * ‘polystyrene' un spectre IRTF d’un film de polystyrène
Usage
sample_spectra
Format
The data is in a long format data.frame, ready for use, and with the following variables:
* 'wavenumber' wavenumber (x axis) value for each point. In units of wavenumbers (cm^-1). * 'absorbance' the absorbance of the sample at each specified wavenumber. * 'sample_id' the sample identity of the various included spectra.
Les données sont dans un format long data.frame, prêt à l'emploi, et avec les variables suivantes:
* ‘wavenmber' valeur du nombre d’onde (axe x) pour chaque point. En unités de nombres d'ondes (cm^-1). * ‘absorbance' l’absorbance de l'échantillon à chaque nombre d'onde spécifié. * ‘sample_id' identité d’échantillon des différents spectres inclus.
Save FTIR Plot
Description
Save FTIR plot object to file. Uses [ggplot2::ggsave()] to save to disk. Specify a filename ending with '.svg' for vector graphics, if requeste by a journal.
Enregistrer l'objet de tracé IRTF dans un fichier. Utilise [ggplot2::ggsave()] pour enregistrer sur le disque. Spécifier un nom de fichier se terminant par '.svg' pour les graphiques vectoriels, si un journal le demande.
Usage
save_plot(ftir_spectra_plot, filename, ...)
Arguments
ftir_spectra_plot |
A plot generated by [plot_ftir()] or [plot_ftir_stacked()]. Un tracé généré par [plot_ftir()] ou [plot_ftir_stacked()]. |
filename |
Name and directory of the file you wish to create. If it includes a extension the function will produce a file of that type. Options for filetypes include "eps", "ps", "tex" (pictex), "pdf", "jpeg", "tiff", "png", "bmp", "svg" or "wmf" (on windows only). Nom et répertoire du fichier que vous souhaitez créer. S'il contient une extension, la fonction produira un fichier de ce type. Les options pour les types de fichiers incluent "eps", "ps", "tex" (pictex), "pdf", "jpeg", "tiff", "png", "bmp", "svg" ou "wmf" (sur Windows uniquement). |
... |
Additional arguements to pass to [ggplot2::ggsave()]. Arguments supplémentaires à passer à [ggplot2::ggsave()]. |
Value
invisible 'TRUE'
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
td <- tempdir()
save_plot(plot_ftir(biodiesel), filename = file.path(td, "biodiesel_plot.png"))
}
Zoom in on a spectral range
Description
It's common to be interested in only a small portion of the FTIR range. In these cases, this function will zoom the spectral plot to the range provided.
Il est courant de s'intéresser uniquement à une petite partie de la gamme IRTF. Dans ces cas, cette fonction permet de zoomer sur le tracé spectral sur la gamme fournie.
Usage
zoom_in_on_range(ftir_spectra_plot, zoom_range = c(1000, 1900))
Arguments
ftir_spectra_plot |
A plot generated by Un tracé généré par |
zoom_range |
A vector of length two, with the wavenumber range of interest. Order of provided limits is not important. Un vecteur de longueur deux, avec la gamme de nombres d'ondes de d'intérêt. L'ordre des limites fournies n'est pas important. |
Value
the FTIR plot as a ggplot2 object, with x axis limits as those supplied by
zoom_range
.
le tracé IRTF en tant qu'objet ggplot2, avec des limites d'axe x comme
celles fournies par zoom_range
.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
# Generate a plot
biodiesel_plot <- plot_ftir(biodiesel)
# Zoom to a specified range of 1850 to 1650 cm^-1
zoom_in_on_range(biodiesel_plot, c(1650, 1850))
}