[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