Skip to main content
2 of 3
edited tags
Firebug
  • 19.5k
  • 6
  • 81
  • 144

Why robust PCA results change with each run?

According to Filzmoser et al. 2009, the best way to conduct a principal component analysis for compositional data with outliers is:

  • using a robust PCA method
  • and using the isometric log ratio transformation (instead of the centred log ratio transformation, see also the discussion here).

The function pcaCoDa() from the R package robCompositions can do both things.

However, every time I run the function, I get a different result... how is that possible?

Also, for what I understand checking help(pcaCoDa), the data set that you provide to the function must not be transformed - the transformation is done internally. But how about scaling? Should we scale the matrix before running the pcaCoDa() if the different columns use very different units?