Function finds spectra that represent mean +/- n standard deiations and adds column .name.

mean_Nsd(sp, n = 2, plus.minus = TRUE)

Arguments

sp

hyperSpec object.

n

Number of standard deviations, i.e. value of z-score.

plus.minus

Logical. If TRUE, two spectra representing are calculated. Otherwise only one spectrum representing n is calculated.

Value

A hyperSpec object with spectra at mean(sp) 1 n*sd(sp).

Author

Vilmantas Gegzna

Examples


data(Spectra2)
Margins  <- mean_Nsd(Spectra2)
#> Error in .expand(e1, dim(e2)[c(1, 3)]): Dimension mismatch.
Margins3 <- mean_Nsd(Spectra2, n = 3)
#> Error in .expand(e1, dim(e2)[c(1, 3)]): Dimension mismatch.

plotspc(Margins)
#> Warning: Function 'plotspc' is deprecated. 
#> Use function 'plot_spc' instead.
#> Error in is_hyperSpec(object): object 'Margins' not found


# Plot data and margins =======================================

Marg2 <- as.long.df(Margins,  rownames = TRUE, na.rm = FALSE)
#> Error in is_hyperSpec(object): object 'Margins' not found
Marg3 <- as.long.df(Margins3, rownames = TRUE, na.rm = FALSE)
#> Error in is_hyperSpec(object): object 'Margins3' not found

Spectra2$.name <- factor("Spectra")

qplotspc(Spectra2, spc.nmax = nrow(Spectra2),
         mapping = aes(x = .wavelength, y = spc, group = .rownames, color = .name),
         alpha = .25) + theme_light() +
    geom_line(data = Marg2, aes(color = .name), lwd = 1) +
    geom_line(data = Marg3, aes(color = .name), lwd = 1) +
    scale_color_manual(" ", values = c("blue","orange2", "red")) +
    scale_alpha_manual(" ", values = ".2", guide = FALSE)
#> Warning: Function 'qplotspc' is deprecated. 
#> Use function 'qplotspc' from package 'hySpc.ggplot2' instead.
#> https://r-hyperspec.github.io/hySpc.ggplot2
#> Error in fortify(data): object 'Marg2' not found