Paquete de prospección espectral de preprocesamiento-lenguaje R

Cargar paquete R

###加载
install.packages("prospectr")
library(prospectr)
##帮助
??prospectr

Inserte la descripción de la imagen aquí
Habrá una introducción detallada sobre cómo usar

Toma tus propios datos como ejemplo

## Establezca la ubicación de datos de lectura
setwd ("C: / Users / chengdehe / Desktop / processing")
## Lea los datos de
datos <-read.csv ("H3.csv", check.names = F)

Etiqueta de eliminación de datos de estructura de
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
datos

##设置读取数据位置
setwd("C:/Users/chengdehe/Desktop/processing")
##读取数据
data <- read.csv("H3.csv")
##去除表头,只剩下光谱数据
data_ref <- data[ ,-(1:2)]

** **

Eliminar el ruido

Causa: causada por instrumentos experimentales o entorno experimental

**
Suavizado espectral

movav (X, w)

#####movav(X, w)_平滑处理
#X代表矩阵
#w代表几个数据进行平滑,即多少数据进行均值计算
movav_data_ref <- movav(data_ref, 8)

Inserte la descripción de la imagen aquí
La siguiente publicación de blog para comprender cómo se realiza el suavizado y por qué los datos disminuyen después del suavizado

https://blog.csdn.net/qq_35166974/article/details/88058945

Filtrado Savitzky-Golay —— Savitzky-Golay 平滑

#w窗口必须为基数
#p阶数——阶数越高,误差越小,但是过拟合越来越严重
#m=0光滑
sg_data_ref <- savitzkyGolay(data_ref, p = 3, w = 11, m = 0)

m = 0 significa curva suave, toma 1, que significa la primera derivada.
Las siguientes publicaciones y publicaciones del blog comprenden el significado de los valores de p y w

1) https://www.jianshu.com/p/eac4c7928b56
2) Zhao Anxin, Tang Xiaojun, Zhang Zhonghua, Liu Junhua Optimización de los parámetros del filtro Savitzky-Golay y su aplicación en el pretratamiento de suavizado de los datos del espectro infrarrojo de la transformación de Fourier [J]. Espectroscopía y análisis espectral, 2016, 36 (05): 1340-1344.

Datos derivados

Motivo: eliminar la línea de base, superponer,

##### diff 函数
##differences——几阶差分
## laglag——计算差分的间隔
diff_data_ref <- t(diff(t(data_ref), differences = 1, lag = 10))   
dim(diff_data_ref)

Comprenda la función diff, consulte la publicación del blog

https://likan.info/cn/post/diff-function-in-r/

Corrección de dispersión

Motivo: eliminar la dispersión de la luz y cambiar la longitud de la trayectoria de la luz

######standardNormalVariate——散射矫正#########
snv_data_ref <- standardNormalVariate(X = data_ref)
dim(snv_data_ref)
#####Centering and scaling————与SNV处理相似但是按照列的方向####
bn_data_ref <- blockNorm(X = data_ref, targetnorm = 1)$Xscaled
###
bs_data_ref <- blockScale(X = data_ref, type = "hard")$Xscaled

Otros métodos de procesamiento

Conversión espectral

cr_data_ref <- continuumRemoval(X = data_ref, type = "A")
##type——the type of data: 'R' for reflectance (default), 'A' for absorbance

Muestreo espectral-muestreo con calibración

kms_data_ref <- naes(X = data_ref, k = 5, pc = 2, iter.max = 100)
##对训练集进行

## 小白 一个 , Se recomienda consultar la ayuda del paquete R directamente

Publicado 7 artículos originales · me gusta 0 · visitas 444

Supongo que te gusta

Origin blog.csdn.net/chengdehe/article/details/104895309
Recomendado
Clasificación