[R] Using napredict in prcomp
Prof Brian Ripley
ripley at stats.ox.ac.uk
Wed Mar 11 04:20:54 CET 2009
On Tue, 10 Mar 2009, Alain Paquette wrote:
> Hello all,
>
> I wish to compute site scores using PCA (prcomp) on a matrix with missing
> values, for example:
>
> Drain Slope OrgL
> a 4 1 NA
> b 2.5 39 6
> c 6 8 45
> d 3 9 12
> e 3 16 4
> ...
>
> Where a,b... are sites.
> The command
>> pca<-prcomp(~ Drain + Slope + OrgL, data = t, center = TRUE, scale = TRUE,
> na.action=na.exclude)
> works great, and from
>> pca$x
> I can get site scores, e.g.
>
> PC1 PC2 PC3
> a NA NA NA
> b -2.10475208 -2.315128625 -0.885197753
> c 5.01177388 -1.778786252 -0.193285051
> d 0.28638602 0.298315086 0.386113799
> e -0.58861254 0.089498632 -0.434951813
> ...
>
> Easy enough...
> But how do I use the "napredict" argument? Is it intended as an argument to
> be used in the prcomp line (as suggested in ?prcomp), or is it to be used by
> itself, to replace NAs in the above site score matrix (which is what I really
> want to do).
I don't see an 'napredict' argument. The help says
x: if 'retx' is true the value of the rotated data (the centred
(and scaled if requested) data multiplied by the 'rotation'
matrix) is returned. Hence, 'cov(x)' is the diagonal matrix
'diag(sdev^2)'. For the formula method, 'napredict' is
applied to handle the treatment of values omitted by the
'na.action'.
'napredict' is a function (so please look up its help), and it says R
applies it, not that you need to. It is napredict which gives you the
NAs in the correct places.
>
> Thank you,
> Alain
>
> --
> Alain Paquette, Ph.D.
> alain.paquette at gmail.com
>
> Centre d'étude de la forêt (CEF)
> Université du Québec à Montréal
> www.cef-cfr.ca
>
> Projet TRIADE
> www.projettriade.ca
> alain.paquette at projettriade.ca
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list