(This article was first published on

**NIR-Quimiometría**, and kindly contributed to R-bloggers)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)")**

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