setwd("D:/data")
eg6.7 <- read.csv("C:\\Users\\86167\\Desktop\\ex6.7.csv", header = T)
d6.7 <- eg6.7[, -1]
colnames(d6.7) <- c("x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8")
rownames(d6.7)=eg6.7[, 1]
R=round(cor(d6.7),3)
R
##       x1    x2    x3    x4    x5    x6    x7    x8
## x1 1.000 0.282 0.646 0.272 0.919 0.714 0.860 0.567
## x2 0.282 1.000 0.375 0.621 0.408 0.560 0.395 0.509
## x3 0.646 0.375 1.000 0.565 0.765 0.751 0.788 0.705
## x4 0.272 0.621 0.565 1.000 0.359 0.525 0.371 0.682
## x5 0.919 0.408 0.765 0.359 1.000 0.783 0.917 0.662
## x6 0.714 0.560 0.751 0.525 0.783 1.000 0.816 0.668
## x7 0.860 0.395 0.788 0.371 0.917 0.816 1.000 0.712
## x8 0.567 0.509 0.705 0.682 0.662 0.668 0.712 1.000
PCAd6.7=princomp(d6.7,cor=T)
summary(PCAd6.7,loadings=T)
## Importance of components:
##                           Comp.1    Comp.2     Comp.3    Comp.4     Comp.5
## Standard deviation     2.3213318 1.1100881 0.72943408 0.5464987 0.47643779
## Proportion of Variance 0.6735727 0.1540369 0.06650926 0.0373326 0.02837412
## Cumulative Proportion  0.6735727 0.8276096 0.89411886 0.9314515 0.95982558
##                           Comp.6     Comp.7      Comp.8
## Standard deviation     0.4351019 0.28334611 0.227588880
## Proportion of Variance 0.0236642 0.01003563 0.006474587
## Cumulative Proportion  0.9834898 0.99352541 1.000000000
## 
## Loadings:
##    Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8
## x1  0.358  0.396  0.158  0.288  0.503         0.282  0.522
## x2  0.257 -0.536  0.703        -0.130 -0.336         0.135
## x3  0.374        -0.412 -0.570 -0.112 -0.512  0.224  0.198
## x4  0.275 -0.599 -0.336         0.600  0.148 -0.248       
## x5  0.393  0.292  0.137  0.120  0.166 -0.233  0.114 -0.795
## x6  0.386         0.195 -0.466 -0.178  0.729  0.168       
## x7  0.396  0.264               -0.211        -0.837  0.152
## x8  0.361 -0.205 -0.373  0.599 -0.503  0.114  0.251

##第一个主成分(Comp.1)的方差贡献率为0.6735727,这意味着它解释了原始数据中约67.36%的方差,是最重要的主成分,对数据的变异解释能力最强。第二个主成分(Comp.2)的方差贡献率为0.1540369,解释了约 15.40%的方差。前两个主成分的累积方差贡献率为0.8276096,即它们共同解释了约 82.76% 的方差,已经能够在一定程度上概括原始数据的主要信息。 ##取前两个主成分 ##z1=0.358x1+0.257x2+0.374x3+0.275x4+0.393x5+0.386x6+0.396x7+0.361x8 ##z2=0.396x1-0.536x2-0.599x4+0.292x5+0.264x7-0.205x8

screeplot(PCAd6.7, type="barplot")

load=loadings(PCAd6.7) 
plot(load[,1:2],xlim=c(-0.5,0.7),ylim=c(-0.5,0.6)) #作散点图
rnames=c("食品","衣着","居住","医疗","交通通信","教育","家政","耐用品")
text(load[,1],load[,2],labels=rnames,adj=c(-0.2, 0.1),cex=0.7)
abline(h=0,v=0)

##Comp.1 显然是最重要的主成分,因为它解释了大部分的方差,而 Comp.7 几乎没有解释能力。 ##食品:位于图的右上角,靠近Comp.1的正半轴和Comp.2的正半轴,表明食品在这两个主成分上有正向的载荷。交通通信:位于图的右上角,靠近Comp.1的正半轴和Comp.2的正半轴,表明交通通信在这两个主成分上有正向的载荷。家政:位于图的右上角,靠近Comp.1的正半轴和Comp.2的正半轴,表明家政在这两个主成分上有正向的载荷。居住:位于图的右上角,靠近Comp.1的正半轴和Comp.2的正半轴,表明居住在这两个主成分上有正向的载荷。教育:位于图的右上角,靠近Comp.1的正半和Comp.2 的正半轴,表明教育在这两个主成分上有正向的载荷。耐用消费品:位于图的中间偏右位置,靠近Comp.1的正半轴,在 Comp.2 上的载荷接近于0。衣着:位于图的左下角,靠近Comp.1的负半轴和Comp.2的负半轴,表明衣着在这两个主成分上有负向的载荷。

A=round(PCAd6.7$scores,3) 
B=round(apply(A[,1:3],1,crossprod),2)
cbind(A,"得分"=B,"排名"=rank(B)) 
##        Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8  得分 排名
## 北京    4.858 -2.092 -0.359  1.254  1.085  0.225 -0.357 -0.234 28.11   30
## 天津    2.683 -0.974 -1.620  0.046  0.563  0.014  0.618  0.321 10.77   26
## 河北   -0.868 -0.785 -0.564  0.097 -0.274 -0.603 -0.159 -0.214  1.69   11
## 山西   -0.581 -0.650 -0.463 -0.990 -0.556 -0.303 -0.206 -0.048  0.97    6
## 内蒙古  0.241 -1.815  1.173  0.056 -0.284 -0.511  0.086 -0.017  4.73   20
## 辽宁    0.487 -0.361 -0.063 -0.887  0.696 -0.051  0.321  0.166  0.37    1
## 吉林   -0.409 -1.188 -0.151 -1.232  0.231 -0.456  0.087  0.059  1.60   10
## 黑龙江 -1.398 -1.185  0.307 -0.656  0.280  0.217 -0.189 -0.056  3.45   15
## 上海    7.019  1.852  1.019  0.403 -0.697 -0.075  0.252 -0.083 53.73   31
## 江苏    1.237  0.175  0.117  0.297 -0.378  0.713 -0.459  0.252  1.57    9
## 浙江    3.974  0.077  1.624 -1.072  0.323  0.762  0.253 -0.324 18.44   28
## 安徽   -0.881  0.338  0.009 -0.350 -0.212  0.585  0.093  0.222  0.89    4
## 福建    1.519  1.582  0.187 -0.134 -0.487 -0.283 -0.067  0.297  4.85   21
## 江西   -2.007  0.666  0.099  0.281 -0.351 -0.057 -0.109  0.128  4.48   19
## 山东    0.894 -1.126 -0.079  0.297 -0.898 -0.574  0.591 -0.120  2.07   12
## 河南   -1.035 -0.967 -0.389  0.309 -0.506  0.004 -0.027 -0.198  2.16   13
## 湖北   -0.930 -0.023  0.224  0.067 -0.080  0.448  0.107  0.300  0.92    5
## 湖南   -0.646 -0.161 -0.005 -0.009  0.220  0.289 -0.302  0.218  0.44    3
## 广东    3.930  2.224 -1.042 -0.561  0.368 -0.967 -0.685 -0.045 21.48   29
## 广西   -1.182  1.341 -0.578  0.574 -0.168  0.412  0.228 -0.400  3.53   16
## 海南   -1.420  2.052 -1.663 -0.075  0.219  0.318  0.406 -0.255  8.99   25
## 重庆    0.730 -0.828 -0.170  0.762 -0.251 -0.091  0.010  0.644  1.25    8
## 四川   -1.447  0.720  0.512  0.426  0.278 -0.011 -0.044  0.121  2.87   14
## 贵州   -2.284  1.018 -0.027 -0.071 -0.144  0.257 -0.143 -0.004  6.25   24
## 云南   -2.115  0.632  0.599  0.582  0.955 -0.324  0.129 -0.145  5.23   22
## 西藏   -3.478  1.439  1.415  0.256  0.882 -0.618  0.170  0.172 16.17   27
## 陕西   -0.273 -0.453 -0.352 -0.387 -0.095  0.858 -0.301 -0.046  0.40    2
## 甘肃   -1.968 -0.209 -0.073  0.096 -0.202  0.140 -0.142 -0.145  3.92   18
## 青海   -2.323  0.031 -0.221  0.314 -0.114  0.206  0.124 -0.126  5.45   23
## 宁夏   -0.627 -0.807 -0.284  0.043 -0.201 -0.329 -0.032 -0.182  1.13    7
## 新疆   -1.697 -0.521  0.820  0.262 -0.201 -0.194 -0.249 -0.257  3.82   17
biplot(PCAd6.7,scale=0.5)

##辽宁、陕西、湖南排名1、2、3;广东、北京、上海排名29、30、31。