1、R软件 主成分分析1.盐泉水化学分析资料的主成分分析和因子分析:今有20个盐泉,盐泉的水化学特征系数值见下表.试对盐泉的水化学分析资料作主成分分析和因子分析.X1X2X3X4X5X6X7111.8350.4814.3625.2125.210.810.98245.5960.52613.8524.0426.010.910.9633.5250.08624.4049.311.36.820.8543.6810.3713.5725.1226.00.821.01548.2870.38614.525.923.322.180.93617.9560.289.7517.0537.20.4640.9877.370.5
2、0613.634.2810.698.80.5684.2230.343.87.188.21.110.9796.4420.194.79.173.20.741.031016.2340.393.15.4121.50.421.01110.5850.422.44.7135.60.870.981223.5350.232.64.6151.80.311.02135.3980.122.86.2111.21.141.0714283.1490.1481.7632.968215.860.140.9815316.6040.3171.4532.432263.410.2490.9816307.310.1731.6272.72
3、9235.70.2140.9917322.5150.3121.3822.32282.210.0241.0018254.580.2970.8991.476410.30.2390.9319304.0920.2830.7891.357438.360.1931.0120202.4460.0420.7411.266309.770.290.99其中x1:矿化度(g/L); x2:Br103/Cl; x3:K103/盐; x4:K103/Cl; x5:Na/K; x6:Mg102/Cl; x7:Na/Cl.1.数据准备 导入数据保存在对象saltwell中 saltwell saltwell X1 X2 X
4、3 X4 X5 X6 X71 11.835 0.480 14.360 25.210 25.21 0.810 0.982 45.596 0.526 13.850 24.040 26.01 0.910 0.963 3.525 0.086 24.400 49.300 11.30 6.820 0.854 3.681 0.370 13.570 25.120 26.00 0.820 1.015 48.287 0.386 14.500 25.900 23.32 2.180 0.936 17.956 0.280 9.750 17.050 37.20 0.464 0.987 7.370 0.506 13.600
5、 34.280 10.69 8.800 0.568 4.223 0.340 3.800 7.100 88.20 1.110 0.979 6.442 0.190 4.700 9.100 73.20 0.740 1.0310 16.234 0.390 3.100 5.400 121.50 0.420 1.0011 10.585 0.420 2.400 4.700 135.60 0.870 0.9812 23.535 0.230 2.600 4.600 151.80 0.310 1.0213 5.398 0.120 2.800 6.200 111.20 1.140 1.0714 283.149 0.
6、148 1.763 2.968 215.86 0.140 0.9815 316.604 0.317 1.453 2.432 263.41 0.249 0.9816 307.310 0.173 1.627 2.729 235.70 0.214 0.9917 322.515 0.312 1.382 2.320 282.21 0.024 1.0018 254.580 0.297 0.899 1.476 410.30 0.239 0.9319 304.092 0.283 0.789 1.357 438.36 0.193 1.0120 202.446 0.042 0.741 1.266 309.77 0
7、.290 0.99 2.数据分析 1标准误、方差贡献率和累积贡献率 arrests.pr summary(arrests.pr,loadings=TRUE)Importance of components: PC1 PC2 PC3 PC4 PC5 PC6 PC7Standard deviation 2.0608 1.1175 0.9592 0.66153 0.33841 0.17728 0.02614Proportion of Variance 0.6067 0.1784 0.1314 0.06252 0.01636 0.00449 0.00010Cumulative Proportion 0
8、.6067 0.7851 0.9165 0.97905 0.99541 0.99990 1.00000 2每个变量的标准误和变换矩阵 prcomp(saltwell, scale = TRUE)Standard deviations:1 2.0608109 1.1174686 0.9591980 0.6615346 0.3384122 0.1772772 0.0261419Rotation: PC1 PC2 PC3 PC4 PC5 PC6X1 0.3468853 0.50450385 0.04884241 -0.5581760 0.5239549 -0.191489310X2 -0.20022
9、13 -0.12029025 0.93023876 -0.1733966 -0.0967612 -0.201658411X3 -0.4414777 -0.05850625 -0.18016824 -0.5534399 -0.1536055 0.186904467X4 -0.4586010 0.04257557 -0.18275574 -0.4025103 -0.1482375 0.009825109X5 0.4056006 0.41766839 0.04962230 -0.1398811 -0.7954597 0.079036986X6 -0.4006353 0.44480041 -0.138
10、99685 0.2887128 -0.1012846 -0.709580413X7 0.3306722 -0.59453862 -0.21125225 -0.2951966 -0.1659059 -0.614723279 PC7X1 -0.001864597X2 -0.001522652X3 0.635916793X4 -0.755239886X5 -0.003042766X6 0.158763393X7 -0.001295549 3查看对象arests.pr中的内容 str(arrests.pr)List of 5 $ sdev : num 1:7 2.061 1.117 0.959 0.6
11、62 0.338 . $ rotation: num 1:7, 1:7 0.347 -0.2 -0.441 -0.459 0.406 . .- attr(*, dimnames)=List of 2 . .$ : chr 1:7 X1 X2 X3 X4 . . .$ : chr 1:7 PC1 PC2 PC3 PC4 . $ center : Named num 1:7 109.768 0.295 6.604 12.627 149.842 . .- attr(*, names)= chr 1:7 X1 X2 X3 X4 . $ scale : Named num 1:7 134.189 0.1
12、38 6.781 13.572 134.642 . .- attr(*, names)= chr 1:7 X1 X2 X3 X4 . $ x : num 1:20, 1:7 -1.67 -1.66 -4.1 -1.39 -1.88 . .- attr(*, dimnames)=List of 2 . .$ : NULL . .$ : chr 1:7 PC1 PC2 PC3 PC4 . - attr(*, class)= chr prcomp 4利用主成分的标准误计算出主成分的累积方差比例 cumsum(arrests.pr$sdev2)/71 0.6067060 0.7850968 0.916
13、5341 0.9790524 0.9954128 0.9999024 1.0000000 5各个化学成分占主成分的得分 arrests.pr$x PC1 PC2 PC3 PC4 PC5 1, -1.67419700 -1.1539075 7.812973e-01 -0.82154434 -0.09559387 2, -1.65924015 -0.9302989 1.166840e+00 -0.87490152 0.05107312 3, -4.09838548 1.0111567 -2.567612e+00 -0.68730247 -0.31976517 4, -1.38589039 -1.2
14、490803 3.749759e-05 -0.66715185 -0.08448647 5, -1.88022254 -0.3889937 1.671917e-01 -0.57112758 0.13190861 6, -0.69655135 -0.9728592 -3.030663e-01 -0.03424197 0.20614983 7, -4.75320646 2.7426437 1.213314e+00 1.16846730 0.18776151 8, -0.08633651 -0.7158822 3.871693e-01 0.78511649 0.04007332 9, 0.22003
15、394 -1.0391225 -7.757745e-01 0.63015911 0.1208960110, 0.29149770 -0.9151936 7.624748e-01 0.57357593 -0.1275280711, 0.20307566 -0.7135246 1.008511e+00 0.73605261 -0.2184335712, 0.77537521 -0.7882670 -3.089778e-01 0.70624777 -0.1730574913, 0.71166897 -1.0074449 -1.248452e+00 0.86096256 -0.0653551314,
16、1.77061767 0.6549572 -6.064948e-01 -0.12893657 0.6274486515, 1.77506943 0.8034993 5.680314e-01 -0.47431349 0.3670494616, 1.89237456 0.7433814 -4.402613e-01 -0.28217109 0.5736033017, 1.96539411 0.7309301 5.200281e-01 -0.58802596 0.2635125518, 1.99772149 1.3282858 5.946532e-01 -0.13000624 -0.625979841
17、9, 2.50342274 1.1491474 3.741488e-01 -0.56734140 -0.7101052620, 2.12777838 0.7105729 -1.293059e+00 0.36648272 -0.14917150 PC6 PC7 1, 0.07084792 -0.007513416 2, 0.02814371 0.015953231 3, -0.15216016 0.016299237 4, 0.04143780 -0.074960637 5, 0.02951380 0.063346130 6, 0.33477919 -0.007866628 7, 0.01788
18、053 -0.024497758 8, -0.01542983 0.031130241 9, -0.02170366 -0.02019301110, -0.06956305 0.01043112711, -0.13820281 0.01460356612, 0.07275144 0.00116461313, -0.31007297 -0.00984082414, 0.12358561 -0.00194511815, -0.18519361 0.00296596916, -0.02146922 0.00254569017, -0.22556715 -0.01375166218, 0.300591
19、02 0.00190401419, -0.19369360 -0.00713884220, 0.31352504 0.007364079 5.数据分析结果图形表示 screeplot(arrests.pr,main=saltwell) biplot(arrests.pr) 按第一主成分排序的结果: data.frame(sort(arrests.pr$x,1) sort.arrests.pr.x.1.1 -4.753206462 -4.098385483 -1.880222544 -1.674197005 -1.659240156 -1.385890397 -0.696551358 -0.08
20、6336519 0.2030756610 0.2200339411 0.2914977012 0.7116689713 0.7753752114 1.7706176715 1.7750694316 1.8923745617 1.9653941118 1.9977214919 2.1277783820 2.50342274 主因子分析计算数据的相关系数矩阵 saltwell.cor saltwell.cor X1 X2 X3 X4 X5 X6 X7X1 1.0000000 -0.2911815 -0.5704925 -0.5676326 0.8488512 -0.3885744 0.168951
21、8X2 -0.2911815 1.0000000 0.2725012 0.2592747 -0.3462327 0.1386043 -0.3445447X3 -0.5704925 0.2725012 1.0000000 0.9868546 -0.7508773 0.6694637 -0.4707286X4 -0.5676326 0.2592747 0.9868546 1.0000000 -0.7379367 0.7778797 -0.5854959X5 0.8488512 -0.3462327 -0.7508773 -0.7379367 1.0000000 -0.4746858 0.28153
22、00X6 -0.3885744 0.1386043 0.6694637 0.7778797 -0.4746858 1.0000000 -0.8875089X7 0.1689518 -0.3445447 -0.4707286 -0.5854959 0.2815300 -0.8875089 1.0000000计算特征值和特征向量及因子的贡献率和累积贡献率 saltwell.eigen saltwell.eigen$values1 4.2469416675 1.2487360550 0.9200607582 0.4376280638 0.1145228440 0.0314272124 0.00068
23、33991$vectors ,1 ,2 ,3 ,4 ,5 ,6 ,71, 0.3468853 -0.50450385 0.04884241 -0.5581760 0.5239549 -0.191489310 -0.0018645972, -0.2002213 0.12029025 0.93023876 -0.1733966 -0.0967612 -0.201658411 -0.0015226523, -0.4414777 0.05850625 -0.18016824 -0.5534399 -0.1536055 0.186904467 0.6359167934, -0.4586010 -0.04
24、257557 -0.18275574 -0.4025103 -0.1482375 0.009825109 -0.7552398865, 0.4056006 -0.41766839 0.04962230 -0.1398811 -0.7954597 0.079036986 -0.0030427666, -0.4006353 -0.44480041 -0.13899685 0.2887128 -0.1012846 -0.709580413 0.1587633937, 0.3306722 0.59453862 -0.21125225 -0.2951966 -0.1659059 -0.614723279
25、 -0.001295549 根据主成分分析结果确定公共因子个数. saltwell.pr summary(saltwell.pr)Importance of components: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7Standard deviation 2.060811 1.1174686 0.9591980 0.66153463 0.33841224 0.177277219 2.614190e-02Proportion of Variance 0.606706 0.1783909 0.1314373 0.06251829 0.01
26、636041 0.004489602 9.762844e-05Cumulative Proportion 0.606706 0.7850968 0.9165341 0.97905236 0.99541277 0.999902372 1.000000e+00 均值 saltwell.pr$center X1 X2 X3 X4 X5 X6 X7 109.76815 0.29480 6.60420 12.62740 149.84200 1.33715 0.96100 标准误 saltwell.pr$scale X1 X2 X3 X4 X5 X6 X7 130.7907754 0.1348872 6.
27、6096769 13.2284214 131.2328727 2.2330745 0.1016317 下面用特征值的平方根乘以相应的特征向量得到因子载荷矩阵.并且只显示前2个因子的结果: t(sqrt(saltwell.eigen$values) * t(saltwell.eigen$vectors),1:2 ,1 ,21, 0.7148649 -0.563767212, -0.4126182 0.134420583, -0.9098021 0.065378904, -0.9450901 -0.047576865, 0.8358661 -0.466731306, -0.8256336 -0.4
28、97050497, 0.6814529 0.66437824 用R语言自带的函数factanal()进行分析 saltwell.fa print(saltwell.fa, cutoff=0.001)Call:factanal(x = saltwell, factors = 2)Uniquenesses: X1 X2 X3 X4 X5 X6 X7 0.668 0.923 0.005 0.005 0.428 0.005 0.179 Loadings: Factor1 Factor2X1 -0.543 -0.193 X2 0.273 0.045 X3 0.940 0.338 X4 0.875 0.481 X5 -0.725 -0.213 X6 0.382 0.922 X7 -0.181 -0.888 Factor1 Factor2SS loadings 2.723 2.067Proportion Var 0.389 0.295Cumulative Var 0.389 0.684Test of the hypothesis that 2 factors are sufficient.The chi square statistic is 42.91 on 8 degrees of freedom.The p-value is 9.14e-0
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1