There are different algorithms to calculate the Principal Components (PCs). Kurt Varmuza & Peter Filzmozer explain them in their book: “Introduction to Multivariate Statistical Analysis in Chemometrics”.

I´m going to apply one of them, to the Yarn spectra.

Previously we have to center the **X** matrix, let´s call it **Xc**.

**> Xc<-scale(yarn$NIR, center = TRUE, scale = FALSE)**

The algorithm I´m going to apply is **“Singular Value Decomposition”**.

> Xc_svd<-svd(Xc)

The idea of this post is just to look to the loadings matrix (P). *Loadings are spectra. which reconstruct together with the score matrix (T), and an error matrix (E), the original X matrix. *

For this case 3 components in enough, because explain almost 99% of the variance, so let´s have a look to the first three loadings:

**> P<-Xc_svd$v**

**> P3cp<-P[,1:3]**

**> matplot(wavelengths,P3cp,pch=21,lty=1,**

** + xlab=”data_points(nm)”,ylab=”log(1/R)”)**

*Related*

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...

If you got this far, why not

__subscribe for updates__ from the site? Choose your flavor:

e-mail,

twitter,

RSS, or

facebook...

**Tags:** "R" Chemometrics