Browse Source

update doc; no slicing in `plot_spc()`

pull/16/head
Philipp Baumann 8 months ago
parent
commit
be703c5f8c
  1. 2
      DESCRIPTION
  2. 1
      NAMESPACE
  3. 11
      R/plot_spc.R
  4. 2
      R/select-spc.R
  5. 10
      man/assess_multimodels.Rd
  6. 66
      man/fit_pls.Rd
  7. 29
      man/fit_rf.Rd
  8. 9
      man/merge_dts.Rd
  9. 9
      man/merge_dts_l.Rd
  10. 5
      man/plot_spc.Rd
  11. 42
      man/plot_spc_ext.Rd
  12. 3
      man/preprocess_spc.Rd
  13. 2
      man/read_asd.Rd
  14. 2
      man/select_spc_vars.Rd
  15. 8
      man/slice_xvalues.Rd

2
DESCRIPTION

@ -38,6 +38,6 @@ Imports:
broom
License: GPL-2
LazyData: TRUE
RoxygenNote: 7.1.0
RoxygenNote: 7.2.3
Roxygen: list(markdown = TRUE)
Encoding: UTF-8

1
NAMESPACE

@ -51,4 +51,5 @@ importFrom(purrr,modify_depth)
importFrom(rlang,ensym)
importFrom(rlang,quo_name)
importFrom(rlang,set_names)
importFrom(stringr,str_replace)
importFrom(tidyselect,one_of)

11
R/plot_spc.R

@ -32,10 +32,6 @@
#' \code{expression(paste("Wavenumber [", cm^-1, "]"))}.
#' @param ylab Character string or mathematical expression
#' (use \code{expression}) for the y axis title. Default is \code{"absorbance"}.
#' @param slice Logical whether to slice the data sets (select rows by position).
#' Default is \code{TRUE}.
#' This argument will soon be supported to group spectra based id variables present
#' in spc_tbl such as the `sample_id` and slicing the data set prior to plotting.
#' @param alpha Double in between 0 and 1. Sets the transparency for the plotted
#' spectra lines.
#' @param legend Logical whether to plot a legend for the spectra describing
@ -56,17 +52,12 @@ plot_spc <- function(spc_tbl, spc_tbl_2 = NULL,
graph_id_1 = "Set 1", graph_id_2 = "Set 2",
graph_id_1_col = "black", graph_id_2_col = "red",
xlab = expression(paste("Wavenumber [", cm^-1, "]")),
ylab = "Absorbance", slice = TRUE, alpha = 0.2,
ylab = "Absorbance", alpha = 0.2,
legend = TRUE) {
# Fix `R CMD check NOTE`: "no visible binding for global variable ‘...‘"
graph_id <- id <- variable <- value <- NULL
# (0) Slice spectra tibble to remove triplicate spectra (reps)
# only sample_id level
if(slice == TRUE) {
spc_tbl <- dplyr::slice(spc_tbl)
}
# (1) Gather spectra into one data.table
if(!is.null(spc_tbl_2)) {
if(y == "spc") {

2
R/select-spc.R

@ -7,7 +7,7 @@
#' @param lcol_xvalues List-column containing x-values, specified with
#' column name as symbols or 1L character vector.
#' @param every Every n-th spectral positions to keep as 1L integer vector.
#' @return
#' @return a spectral tibble
#' @export
select_spc_vars <- function(spc_tbl,
lcol_spc = "spc_pre",

10
man/assess_multimodels.Rd

@ -4,15 +4,19 @@
\alias{assess_multimodels}
\title{Assess multiple pairs of measured and predicted values}
\usage{
assess_multimodels(data, ..., .metrics = c("simplerspec", "yardstick"),
.model_name = "model")
assess_multimodels(
data,
...,
.metrics = c("simplerspec", "yardstick"),
.model_name = "model"
)
}
\arguments{
\item{data}{Data frame with all measured (observed) and predicted variables.}
\item{...}{Multiple arguments with observed (measured)-predicted pairs,
specified with \code{dplyr::vars(o = <column_name>, p = <column_name>)}.
Column names can strings or symbols. The arguments in `...` need to be named.}
Column names can strings or symbols. The arguments in \code{...} need to be named.}
\item{.metrics}{Character vector with package used for metrics calculation.
Default is \code{"simplerspec"}, which uses

66
man/fit_pls.Rd

@ -5,32 +5,62 @@
\alias{pls_ken_stone}
\title{Calibration sampling, model tuning, and PLS regression}
\usage{
fit_pls(spec_chem, response, variable = NULL, center = TRUE, scale = TRUE,
evaluation_method = "test_set", validation = TRUE,
split_method = "ken_stone", ratio_val = 1/3, ken_sto_pc = 2, pc,
invert = TRUE, tuning_method = "resampling",
resampling_method = "kfold_cv", cv = NULL, resampling_seed = 123,
pls_ncomp_max = 20, ncomp_fixed = 5, print = TRUE,
env = parent.frame())
pls_ken_stone(spec_chem, response, variable = NULL, center = TRUE,
scale = TRUE, evaluation_method = "test_set", validation = TRUE,
split_method = "ken_stone", ratio_val = 1/3, ken_sto_pc = 2, pc,
invert = TRUE, tuning_method = "resampling",
resampling_method = "kfold_cv", cv = NULL, resampling_seed = 123,
pls_ncomp_max = 20, ncomp_fixed = 5, print = TRUE,
env = parent.frame())
fit_pls(
spec_chem,
response,
variable = NULL,
center = TRUE,
scale = TRUE,
evaluation_method = "test_set",
validation = TRUE,
split_method = "ken_stone",
ratio_val = 1/3,
ken_sto_pc = 2,
pc,
invert = TRUE,
tuning_method = "resampling",
resampling_method = "kfold_cv",
cv = NULL,
resampling_seed = 123,
pls_ncomp_max = 20,
ncomp_fixed = 5,
print = TRUE,
env = parent.frame()
)
pls_ken_stone(
spec_chem,
response,
variable = NULL,
center = TRUE,
scale = TRUE,
evaluation_method = "test_set",
validation = TRUE,
split_method = "ken_stone",
ratio_val = 1/3,
ken_sto_pc = 2,
pc,
invert = TRUE,
tuning_method = "resampling",
resampling_method = "kfold_cv",
cv = NULL,
resampling_seed = 123,
pls_ncomp_max = 20,
ncomp_fixed = 5,
print = TRUE,
env = parent.frame()
)
}
\arguments{
\item{spec_chem}{Tibble that contains spectra, metadata and chemical
reference as list-columns. The tibble to be supplied to \code{spec_chem} can
be generated by the `join_chem_spc() function`}
be generated by the \verb{join_chem_spc() function}}
\item{response}{Response variable as symbol or name
(without quotes, no character string). The provided response symbol needs to be
a column name in the \code{spec_chem} tibble.}
\item{variable}{Depreciated and replaced by `response`}
\item{variable}{Depreciated and replaced by \code{response}}
\item{center}{Logical whether to perform mean centering of each spectrum column
(e.g. wavenumber or wavelength) after common spectrum preprocessing. Default is
@ -66,7 +96,7 @@ Kennard-Stone algorithm.
Default is \code{ken_sto_pc = 2}, which will use the first two PCA
components.}
\item{pc}{Depreciated; renamed argument is `ken_sto_pc`.}
\item{pc}{Depreciated; renamed argument is \code{ken_sto_pc}.}
\item{invert}{Logical}

29
man/fit_rf.Rd

@ -4,22 +4,35 @@
\alias{fit_rf}
\title{Calibration sampling, and random forest model tuning and evaluation}
\usage{
fit_rf(spec_chem, response, variable = NULL, evaluation_method = "test_set",
validation = NULL, split_method = "ken_stone", ratio_val,
ken_sto_pc = 2, pc = NULL, invert = TRUE,
tuning_method = "resampling", resampling_seed = 123, cv = NULL,
ntree_max = 500, print = TRUE, env = parent.frame())
fit_rf(
spec_chem,
response,
variable = NULL,
evaluation_method = "test_set",
validation = NULL,
split_method = "ken_stone",
ratio_val,
ken_sto_pc = 2,
pc = NULL,
invert = TRUE,
tuning_method = "resampling",
resampling_seed = 123,
cv = NULL,
ntree_max = 500,
print = TRUE,
env = parent.frame()
)
}
\arguments{
\item{spec_chem}{Tibble that contains spectra, metadata and chemical
reference as list-columns. The tibble to be supplied to \code{spec_chem} can
be generated by the `join_chem_spc() function`}
be generated by the \verb{join_chem_spc() function}}
\item{response}{Response variable as symbol or name
(without quotes, no character string). The provided response symbol needs to be
a column name in the \code{spec_chem} tibble.}
\item{variable}{Depreciated and replaced by `response`}
\item{variable}{Depreciated and replaced by \code{response}}
\item{evaluation_method}{Character string stating evaluation method.
Either \code{"test_set"} (default) or \code{"resampling"}. \code{"test_set"}
@ -47,7 +60,7 @@ Kennard-Stone algorithm.
Default is \code{ken_sto_pc = 2}, which will use the first two PCA
components.}
\item{pc}{Depreciated; renamed argument is `ken_sto_pc`.}
\item{pc}{Depreciated; renamed argument is \code{ken_sto_pc}.}
\item{invert}{Logical}

9
man/merge_dts.Rd

@ -5,8 +5,13 @@
\title{Merge list-columns of spectra, x-axis values, metadata and additional
measured variables into a single long form data.table}
\usage{
merge_dts(spc_tbl, lcols_spc = c("spc", "spc_pre"), lcol_measure = NULL,
spc_id = "unique_id", group_id = "sample_id")
merge_dts(
spc_tbl,
lcols_spc = c("spc", "spc_pre"),
lcol_measure = NULL,
spc_id = "unique_id",
group_id = "sample_id"
)
}
\arguments{
\item{spc_tbl}{Tibble data frame containing spectra, x-axis values, metadata

9
man/merge_dts_l.Rd

@ -5,8 +5,13 @@
\title{Wrapper function around \code{merge_dts()} for list of tibbles to
aggregate data for plotting.}
\usage{
merge_dts_l(spc_tbl_l, lcols_spc = c("spc", "spc_pre"), lcol_measure = NULL,
spc_id = "unique_id", group_id = "sample_id")
merge_dts_l(
spc_tbl_l,
lcols_spc = c("spc", "spc_pre"),
lcol_measure = NULL,
spc_id = "unique_id",
group_id = "sample_id"
)
}
\arguments{
\item{spc_tbl_l}{List of spectral tibbles (data frames).}

5
man/plot_spc.Rd

@ -57,11 +57,6 @@ set. Default is \code{"red"}.}
\item{ylab}{Character string or mathematical expression
(use \code{expression}) for the y axis title. Default is \code{"absorbance"}.}
\item{slice}{Logical whether to slice the data sets (select rows by position).
Default is \code{TRUE}.
This argument will soon be supported to group spectra based id variables present
in spc_tbl such as the `sample_id` and slicing the data set prior to plotting.}
\item{alpha}{Double in between 0 and 1. Sets the transparency for the plotted
spectra lines.}

42
man/plot_spc_ext.Rd

@ -4,13 +4,27 @@
\alias{plot_spc_ext}
\title{ggplot2 wrapper for extended spectra plotting}
\usage{
plot_spc_ext(spc_tbl, spc_tbl_l = NULL, lcols_spc = "spc",
lcol_measure = NULL, lcol_measure_col_palette = "Spectral",
lcol_measure_col_direction = -1, spc_id = "unique_id",
group_id = "sample_id", group_id_order = TRUE, group_color = TRUE,
group_color_palette = NULL, group_panel = TRUE, group_legend = FALSE,
ncol = NULL, relabel_spc = TRUE, ylab = "Spectrum value", alpha = 0.5,
line_width = 0.2, ...)
plot_spc_ext(
spc_tbl,
spc_tbl_l = NULL,
lcols_spc = "spc",
lcol_measure = NULL,
lcol_measure_col_palette = "Spectral",
lcol_measure_col_direction = -1,
spc_id = "unique_id",
group_id = "sample_id",
group_id_order = TRUE,
group_color = TRUE,
group_color_palette = NULL,
group_panel = TRUE,
group_legend = FALSE,
ncol = NULL,
relabel_spc = TRUE,
ylab = "Spectrum value",
alpha = 0.5,
line_width = 0.2,
...
)
}
\arguments{
\item{spc_tbl}{Tibble data frame containing spectra, x-axis values, metadata
@ -27,14 +41,14 @@ of the measure columns. This argument is optional. Default is \code{NULL},
which does not extract an additional measure column.}
\item{lcol_measure_col_palette}{Palette value supplied to
`ggplot::scale_colour_brewer()`. Default is `"Spectral"`, but you can set
it to the default argument `1` (will use
`scale_colour_brewer(..., palette = 1)`).}
\code{ggplot::scale_colour_brewer()}. Default is \code{"Spectral"}, but you can set
it to the default argument \code{1} (will use
\code{scale_colour_brewer(..., palette = 1)}).}
\item{lcol_measure_col_direction}{Sets the the order of colours in the scale
that is based on a measure column. Default is \code{-1} which reverses the
scale. Argument is passed on to the function `ggplot2::sclae_colour_brewer()`
as argument `direction`.}
scale. Argument is passed on to the function \code{ggplot2::sclae_colour_brewer()}
as argument \code{direction}.}
\item{spc_id}{Character vector denoting column name for a unique spectrum ID.
Default is \code{"unique_id"}.}
@ -51,8 +65,8 @@ numbers. Default is \code{TRUE}.}
specified by \code{group_id}.}
\item{group_color_palette}{Character (1L) defining the diverging colour
scales from colorbrewer.org; see `?scale_colour_brewer` for supported
diverging colur types (`palette` argument).}
scales from colorbrewer.org; see \code{?scale_colour_brewer} for supported
diverging colur types (\code{palette} argument).}
\item{group_panel}{Logical defining whether spectra are arranged into panels
by groups specified in \code{group_id}. Default is \code{TRUE}.}

3
man/preprocess_spc.Rd

@ -4,8 +4,7 @@
\alias{preprocess_spc}
\title{Preprocess spectra}
\usage{
preprocess_spc(spc_tbl, select, column_in = "spc_mean",
custom_function = NULL)
preprocess_spc(spc_tbl, select, column_in = "spc_mean", custom_function = NULL)
}
\arguments{
\item{spc_tbl}{Tibble that contains spectra to be preprocessed within

2
man/read_asd.Rd

@ -14,7 +14,7 @@ remaining columns are sample spectra referred by an ID name provided in the
first row of these columns.}
}
\value{
Spectra data in tibble data frame (class `tbl_df`) that contains
Spectra data in tibble data frame (class \code{tbl_df}) that contains
columns \code{sample_id} (derived from 2nd and following column names of
tab delimited ASD exported text file),
\code{spc} (list-column of spectral matrices)

2
man/select_spc_vars.Rd

@ -24,7 +24,7 @@ column name as symbols or 1L character vector.}
\item{every}{Every n-th spectral positions to keep as 1L integer vector.}
}
\value{
a spectral tibble
}
\description{
Select every n-th spectral variable for all spectra and x-values in spectral

8
man/slice_xvalues.Rd

@ -4,8 +4,12 @@
\alias{slice_xvalues}
\title{Slice spectra into defined x-axis ranges}
\usage{
slice_xvalues(spc_tbl, xunit_lcol = "wavenumbers", spc_lcol = "spc",
xvalues_cut = NULL)
slice_xvalues(
spc_tbl,
xunit_lcol = "wavenumbers",
spc_lcol = "spc",
xvalues_cut = NULL
)
}
\arguments{
\item{spc_tbl}{Spectral data in a tibble object (classes "tibble_df", "tbl"

Loading…
Cancel
Save