# [R] Principal Component Analysis

Sarah Goslee sarah.goslee at gmail.com
Wed Feb 29 16:01:07 CET 2012

```Hi,

On Wed, Feb 29, 2012 at 9:52 AM, Blaz Simcic <blazsimcic at yahoo.com> wrote:
> Dear R buddies,
> I’m trying to run Principal Component Analysis, package
> princomp: http://stat.ethz.ch/R-manual/R-patched/library/stats/html/princomp.html.

I'm going to assume you actually mean the princomp() function.

> My question is: why do I get different results with pca =
> princomp (x, cor = TRUE) and pca = princomp (x, cor = FALSE) even when I
> standardize variables in my matrix?

Because you didn't use the standardization that's used in princomp, most likely,
but you don't include reproducible code so it's impossible to actually
question. Look at this for ideas, though. Using scale() is equivalent
to using cor=TRUE.

> data(iris)
> iris.pcaCOR <- princomp(iris[,1:4], cor=TRUE)
> iris.pcaSCALE <- princomp(scale(iris[,1:4]), cor=TRUE)
>
> summary(iris.pcaCOR)
Importance of components:
Comp.1    Comp.2     Comp.3      Comp.4
Standard deviation     1.7083611 0.9560494 0.38308860 0.143926497
Proportion of Variance 0.7296245 0.2285076 0.03668922 0.005178709
Cumulative Proportion  0.7296245 0.9581321 0.99482129 1.000000000
> summary(iris.pcaSCALE)
Importance of components:
Comp.1    Comp.2     Comp.3      Comp.4
Standard deviation     1.7083611 0.9560494 0.38308860 0.143926497
Proportion of Variance 0.7296245 0.2285076 0.03668922 0.005178709
Cumulative Proportion  0.7296245 0.9581321 0.99482129 1.000000000

--
Sarah Goslee
http://www.functionaldiversity.org

```