There is a larger matrix (1500 rows x 40 columns), 1500 observations x 40 variables. then I follow the procedures of PCA(Principle components analysis), 1. find correlation 2. find eigenvalues 3. find Eigenvectors I have got the result (Mathematica) dataCorrEigenvalues/Total@dataCorrEigenvalues {0.647833, 0.128731, 0.0843738, 0.0519215, 0.0246577, 0.018331, \ 0.0100494, 0.00657219, 0.0054721, 0.00373078, 0.00310175, 0.00244999, \ 0.0022292, 0.00190861, 0.00166728, 0.00124446, 0.00113064, \ 0.00093684, 0.000673087, 0.000579798, 0.00049716, 0.000425554, \ 0.000371012, 0.000261027, 0.000225517, 0.000173631, 0.000133479, \ 0.000128954, 0.000103792, 0.0000853669} FoldList[Plus, dataCorrEigenvalues/Total@dataCorrEigenvalues] {0.647833, 0.776564, 0.860938, 0.91286, 0.937517, 0.955848, 0.965898, \ 0.97247, 0.977942, 0.981673, 0.984775, 0.987225, 0.989454, 0.991362, \ 0.99303, 0.994274, 0.995405, 0.996342, 0.997015, 0.997595, 0.998092, \ 0.998517, 0.998888, 0.999149, 0.999375, 0.999548, 0.999682, 0.999811, \ 0.999915, 1.} As I know the first 6 components explain about 95% of the variability, However, I don't understand how to use these components for data analysis. The projection Matrix "w" as the following w = dataCorrEigenvectors[[All, 1 ;; 4]]; I try to calculate the dot product of W against data, however, it seems the result is not same as expectation. PC5 = data.w; Please feel free to command and advise what I should do. Thank you.