(This article was first published on

**NIR-Quimiometría**, and kindly contributed to R-bloggers)We have seen in the previous post, how to calculate the correlation spectrum, but other simple way to show how the bands correlate to the constituent of interest is to calculate R^2. This way we remove the negative part of the correlation spectrum.

Xmsc<-NIR_msc

Ymoi<-demo_raw$Moisture

cor_spec<-cor(Ymoi,Xmsc[,1:700])

rsq_spec<-(cor(Ymoi,Xmsc[,1:700]))^2

cov_spec<-cov(Ymoi,Xmsc[,1:700])*50

matplot(wave_nir,t(cor_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")

matplot(wave_nir,t(rsq_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")

matplot(wave_nir,t(cov_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")

#We merge the R /R^2/Cov spectrum with the sample spectra treated with MSC.

cor_spec<-rbind(cor_spec,NIR_msc)

rsq_spec<-rbind(rsq_spec,NIR_msc)

cov_spec<-rbind(cov_spec,NIR_msc)

matplot(wave_nir,t(cor_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")

matplot(wave_nir,t(rsq_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")

matplot(wave_nir,t(cov_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")

In order to see better the Covariance Spectrum, I multiplied by a factor,We can see how the covariance spectrum gives sharp bands an gives us a better idea where the variation due to moisture is.

To

**leave a comment**for the author, please follow the link and comment on his blog:**NIR-Quimiometría**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...