An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/r-help/attachments/20060227/1156970d/attachment.pl
question about Principal Component Analysis in R?
2 messages · Michael, Bjørn-Helge Mevik
Michael wrote:
pca=prcomp(training_data, center=TRUE, scale=FALSE, retx=TRUE);
Then I want to rotate the test data set using the
d1=scale(test_data, center=TRUE, scale=FALSE) %*% pca$rotation; d2=predict(pca, test_data, center=TRUE, scale=FALSE);
these two values are different
min(d2-d1)
[1] -1.976152
max(d2-d1)
[1] 1.535222
This is because you have subtracted a different means vector. You should use the coloumn means of the training data (as predict does; see the last line of stats:::predict.prcomp): d1=scale(test_data, center=pca$center, scale=FALSE) %*% pca$rotation;
Bj??rn-Helge Mevik