Hi all,
I am wondering in R, suppose I did the principal component analysis on
training data set and obtain the rotation matrix, via:
> 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
However, if I do these on the training data:
> d1=scale(training_data, center=TRUE, scale=FALSE) %*% pca$rotation;
> d2=predict(pca, training_data, center=TRUE, scale=FALSE);
> d3=pca$x;
Then the d1, d2, d3 are all the same...
------------------------------------
So now I am confused... why does the test data have two different rotated
matrix value?
Thanks a lot!
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html