##

## 影响居民消费价格指数的主成分分析
## 使用主成分进行聚类分析
## 进行主成分回归分析

## 加载包
library(readxl)
## Warning: package 'readxl' was built under R version 3.3.2
library(psych)
library(VIM)
## Warning: package 'VIM' was built under R version 3.3.2
## Loading required package: colorspace
## Warning: package 'colorspace' was built under R version 3.3.2
## Loading required package: grid
## Loading required package: data.table
## Warning: package 'data.table' was built under R version 3.3.2
## VIM is ready to use. 
##  Since version 4.0.0 the GUI is in its own package VIMGUI.
## 
##           Please use the package to use the new (and old) GUI.
## Suggestions and bug-reports can be submitted at: https://github.com/alexkowa/VIM/issues
## 
## Attaching package: 'VIM'
## The following object is masked from 'package:datasets':
## 
##     sleep
library(xlsx)
## Loading required package: rJava
## Warning: package 'rJava' was built under R version 3.3.2
## Loading required package: xlsxjars
par(family = "STKaiti")
## 读取数据
mydata <- read_excel("22232.xls")
mydata <- mydata[1:80,]
## 查看数据
head(mydata)
## # A tibble: 6 x 16
##   时间     居民消费价格指数 食品烟酒  粮食 肉禽及其制品  蛋类 水产品  鲜菜
##   <chr>               <dbl>    <dbl> <dbl>        <dbl> <dbl>  <dbl> <dbl>
## 1 2017年8月…            100.     101.   100.        101.  114.    98.9 108. 
## 2 2017年7月…            100.     100.   100.         99.5 103.    99.8 107. 
## 3 2017年6月…             99.8     99.3  100.         97.8 105.    99.5  98.9
## 4 2017年5月…             99.9     99.6  100.         98.2  96.6  101.   93.8
## 5 2017年4月…            100.      99.7  100.         98.8  99.4  102.   95.0
## 6 2017年3月…             99.7     98.7  100.         97.5  96.0   99.7  92.1
## # ... with 8 more variables: 鲜果 <dbl>, 衣着 <dbl>, 居住 <dbl>,
## #   生活用品及服务 <dbl>, 交通和通信 <dbl>, 教育文化和娱乐 <dbl>,
## #   医疗保健 <dbl>, 其他用品和服务 <dbl>
summary(mydata)
##      时间           居民消费价格指数    食品烟酒           粮食      
##  Length:80          Min.   : 99.1    Min.   : 97.10   Min.   : 99.9  
##  Class :character   1st Qu.: 99.9    1st Qu.: 99.38   1st Qu.:100.1  
##  Mode  :character   Median :100.1    Median :100.00   Median :100.2  
##                     Mean   :100.2    Mean   :100.31   Mean   :100.3  
##                     3rd Qu.:100.5    3rd Qu.:101.20   3rd Qu.:100.3  
##                     Max.   :101.6    Max.   :104.60   Max.   :101.2  
##   肉禽及其制品         蛋类            水产品           鲜菜       
##  Min.   : 93.30   Min.   : 91.90   Min.   : 86.2   Min.   : 78.50  
##  1st Qu.: 98.88   1st Qu.: 98.22   1st Qu.: 99.0   1st Qu.: 94.58  
##  Median :100.00   Median : 99.45   Median : 99.7   Median :100.15  
##  Mean   :100.34   Mean   :100.21   Mean   :100.4   Mean   :101.16  
##  3rd Qu.:101.42   3rd Qu.:102.53   3rd Qu.:101.2   3rd Qu.:105.65  
##  Max.   :107.10   Max.   :113.50   Max.   :112.7   Max.   :129.90  
##       鲜果            衣着            居住       生活用品及服务 
##  Min.   : 86.5   Min.   : 99.6   Min.   : 99.0   Min.   : 99.7  
##  1st Qu.: 97.8   1st Qu.: 99.9   1st Qu.: 99.8   1st Qu.:100.0  
##  Median : 99.5   Median :100.1   Median :100.2   Median :100.1  
##  Mean   :100.1   Mean   :100.1   Mean   :100.2   Mean   :100.1  
##  3rd Qu.:102.8   3rd Qu.:100.2   3rd Qu.:100.6   3rd Qu.:100.2  
##  Max.   :111.0   Max.   :102.1   Max.   :101.6   Max.   :100.6  
##    交通和通信    教育文化和娱乐     医疗保健     其他用品和服务 
##  Min.   : 99.3   Min.   : 99.1   Min.   : 99.1   Min.   : 97.1  
##  1st Qu.:100.0   1st Qu.: 99.7   1st Qu.: 99.9   1st Qu.:100.0  
##  Median :100.1   Median :100.0   Median :100.2   Median :100.1  
##  Mean   :100.1   Mean   :100.0   Mean   :100.2   Mean   :100.2  
##  3rd Qu.:100.2   3rd Qu.:100.3   3rd Qu.:100.5   3rd Qu.:100.3  
##  Max.   :101.4   Max.   :101.6   Max.   :101.1   Max.   :102.8
## 对数据是否有缺失值可视化
par(family = "STKaiti",cex = 0.8)
VIM::aggr(mydata)

## 没有缺失值 


## 自动发现合适的主成分个数
pca1 <- fa.parallel(mydata[,3:16],fa = "pc",n.iter=40)
## The estimated weights for the factor scores are probably incorrect.  Try a different factor extraction method.

## Parallel analysis suggests that the number of factors =  NA  and the number of components =  1
## 主成分分析特征值
pca1$pc.values
##  [1] 4.30640334 1.45218100 1.25812465 1.18331734 1.11249117 0.97804237
##  [7] 0.85463085 0.72018235 0.66539057 0.54171801 0.35848865 0.33292350
## [13] 0.16307527 0.07303092
## 从图上可以看出特征值突变的特征为1个特征,但是特征值大于1的特征有5个
## 下面先假设有5个特征,进行详细的主成分分析

## 主成分分析,不指定主成分 个数 
pca_2 <- princomp( mydata[,3:16],cor = TRUE)
## 这里输出了所有的主成分 
summary(pca_2,loadings = TRUE)
## Importance of components:
##                           Comp.1    Comp.2     Comp.3     Comp.4
## Standard deviation     2.0751875 1.2050647 1.12166156 1.08780391
## Proportion of Variance 0.3076002 0.1037272 0.08986605 0.08452267
## Cumulative Proportion  0.3076002 0.4113275 0.50119350 0.58571617
##                            Comp.5     Comp.6     Comp.7    Comp.8
## Standard deviation     1.05474697 0.98896025 0.92446247 0.8486356
## Proportion of Variance 0.07946365 0.06986017 0.06104506 0.0514416
## Cumulative Proportion  0.66517982 0.73503999 0.79608505 0.8475266
##                           Comp.9    Comp.10    Comp.11    Comp.12
## Standard deviation     0.8157148 0.73601495 0.59873921 0.57699523
## Proportion of Variance 0.0475279 0.03869414 0.02560633 0.02378025
## Cumulative Proportion  0.8950545 0.93374869 0.95935502 0.98313527
##                           Comp.13     Comp.14
## Standard deviation     0.40382579 0.270242343
## Proportion of Variance 0.01164823 0.005216495
## Cumulative Proportion  0.99478351 1.000000000
## 
## Loadings:
##                Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8
## 食品烟酒       -0.430        -0.183 -0.292                            
## 粮食           -0.183 -0.328  0.325 -0.282  0.218        -0.490  0.125
## 肉禽及其制品   -0.300  0.191  0.154         0.257  0.242  0.204 -0.155
## 蛋类           -0.181  0.439  0.284 -0.197 -0.134  0.393 -0.166  0.423
## 水产品         -0.365        -0.199  0.197  0.354        -0.115 -0.179
## 鲜菜           -0.276        -0.343 -0.505 -0.158         0.264  0.203
## 鲜果           -0.172 -0.558 -0.359        -0.181                0.181
## 衣着            0.134         0.197         0.585 -0.495  0.223  0.464
## 居住            0.230 -0.415                       0.526         0.382
## 生活用品及服务 -0.270 -0.228  0.318        -0.230 -0.347 -0.320 -0.132
## 交通和通信     -0.221 -0.231  0.526  0.106 -0.217         0.399 -0.207
## 教育文化和娱乐 -0.271         0.153  0.397 -0.173         0.386  0.379
## 医疗保健       -0.219  0.255 -0.131  0.454 -0.203 -0.225 -0.375  0.322
## 其他用品和服务 -0.326        -0.113  0.313  0.411  0.275              
##                Comp.9 Comp.10 Comp.11 Comp.12 Comp.13 Comp.14
## 食品烟酒                                               0.824 
## 粮食            0.337 -0.457  -0.149           0.124         
## 肉禽及其制品   -0.526 -0.417           0.411          -0.158 
## 蛋类                   0.270   0.306  -0.300                 
## 水产品                 0.370  -0.126           0.658  -0.163 
## 鲜菜            0.189  0.109  -0.362   0.139  -0.136  -0.442 
## 鲜果           -0.344 -0.175   0.424  -0.329          -0.165 
## 衣着           -0.202  0.128          -0.126                 
## 居住           -0.189  0.257  -0.311   0.345           0.159 
## 生活用品及服务 -0.142  0.440   0.200   0.413  -0.215         
## 交通和通信     -0.123         -0.391  -0.427                 
## 教育文化和娱乐  0.421 -0.149   0.240   0.320   0.226         
## 医疗保健       -0.277 -0.198  -0.433          -0.147         
## 其他用品和服务  0.285  0.152   0.102  -0.119  -0.630
## 可以看出5个主成分的累计贡献率为66.5%

## 碎石图 
screeplot(pca_2,type = "line",main = "碎石图",npcs = length(pca_2$sdev))

## 主成分双标散点图 
biplot(pca_2,main = "主成分分析",cex = 0.7)

## 标准载荷矩阵(旋转后的)
pca_2$loadings[1:14,1:14]
##                    Comp.1      Comp.2       Comp.3       Comp.4
## 食品烟酒       -0.4297951  0.01128479 -0.182514318 -0.292455045
## 粮食           -0.1828897 -0.32772223  0.325075362 -0.282456078
## 肉禽及其制品   -0.2997557  0.19078525  0.154138486 -0.078427250
## 蛋类           -0.1808412  0.43930051  0.283538072 -0.196712128
## 水产品         -0.3650635 -0.03602757 -0.199280609  0.196791347
## 鲜菜           -0.2757534  0.04341014 -0.343129149 -0.504942283
## 鲜果           -0.1719884 -0.55807778 -0.358924873  0.009727364
## 衣着            0.1344033 -0.03927725  0.197418687 -0.094830384
## 居住            0.2302924 -0.41476594  0.003681783  0.083614223
## 生活用品及服务 -0.2704610 -0.22758524  0.317928190 -0.086742090
## 交通和通信     -0.2208387 -0.23094881  0.526281053  0.106354778
## 教育文化和娱乐 -0.2706186 -0.04511232  0.153173457  0.396917452
## 医疗保健       -0.2187936  0.25537391 -0.131318070  0.453698952
## 其他用品和服务 -0.3259699 -0.04996773 -0.113314894  0.312806775
##                     Comp.5        Comp.6      Comp.7      Comp.8
## 食品烟酒        0.01691091 -0.0466481532  0.07966491  0.02336223
## 粮食            0.21825816  0.0531323959 -0.48972578  0.12485553
## 肉禽及其制品    0.25715883  0.2417681259  0.20386589 -0.15497303
## 蛋类           -0.13424643  0.3927781530 -0.16636163  0.42270291
## 水产品          0.35444424  0.0005232331 -0.11492233 -0.17925325
## 鲜菜           -0.15846204 -0.0457505583  0.26385554  0.20297477
## 鲜果           -0.18133505 -0.0028873405  0.01681135  0.18113323
## 衣着            0.58516417 -0.4948198637  0.22258011  0.46404607
## 居住            0.03688833  0.5261233942 -0.01618158  0.38197364
## 生活用品及服务 -0.23022328 -0.3469650086 -0.31972306 -0.13190133
## 交通和通信     -0.21692188  0.0584834142  0.39892220 -0.20729914
## 教育文化和娱乐 -0.17345669 -0.0925039308  0.38639396  0.37875733
## 医疗保健       -0.20275171 -0.2249837827 -0.37482780  0.32207410
## 其他用品和服务  0.41142448  0.2748462113 -0.02266001 -0.07892288
##                     Comp.9      Comp.10       Comp.11     Comp.12
## 食品烟酒       -0.04512819  0.005323663 -0.0608217277 -0.04311046
## 粮食            0.33720160 -0.457360630 -0.1488738350 -0.05203458
## 肉禽及其制品   -0.52573865 -0.416985347  0.0925450048  0.41149063
## 蛋类           -0.07579387  0.270273033  0.3063586999 -0.29959667
## 水产品         -0.04121830  0.370311502 -0.1260884521 -0.03947073
## 鲜菜            0.18931826  0.108695307 -0.3616929999  0.13854043
## 鲜果           -0.34378241 -0.174770802  0.4237015731 -0.32946530
## 衣着           -0.20214724  0.127747588 -0.0002473008 -0.12564636
## 居住           -0.18872341  0.257440785 -0.3114300908  0.34545849
## 生活用品及服务 -0.14228622  0.439574605  0.2004320967  0.41313307
## 交通和通信     -0.12287838  0.064237756 -0.3907310220 -0.42706092
## 教育文化和娱乐  0.42054755 -0.149292234  0.2401641747  0.31980929
## 医疗保健       -0.27695681 -0.197831317 -0.4331043943 -0.04911051
## 其他用品和服务  0.28459829  0.151675908  0.1018977627 -0.11905486
##                     Comp.13     Comp.14
## 食品烟酒       -0.010347707  0.82415003
## 粮食            0.124495821 -0.06752970
## 肉禽及其制品   -0.025928073 -0.15760167
## 蛋类            0.091542121 -0.07606114
## 水产品          0.658154791 -0.16299591
## 鲜菜           -0.136429025 -0.44166192
## 鲜果            0.009792176 -0.16482542
## 衣着           -0.084430650 -0.01353132
## 居住            0.005880239  0.15918637
## 生活用品及服务 -0.214574185 -0.05549560
## 交通和通信     -0.032163008 -0.04136119
## 教育文化和娱乐  0.226102179  0.04578076
## 医疗保健       -0.147430202 -0.01742342
## 其他用品和服务 -0.629577226 -0.06386849
# write.xlsx(data.frame(pca_2$loadings[1:14,1:14]),file = "主成分载荷.xlsx")

## 标准载荷可视化  
pca_load <- data.frame(pca_2$loadings[1:14,1:14])
par(mfcol = c(1,2),family = "STKaiti",cex = 0.6)
plot(pca_load$Comp.1,pca_load$Comp.2,type = "n",xla = "Comp 1",
     ylab = "Comp 2",main = "PCA Loading",xlim = c(-.6,.6),ylim = c(-.6,.6))
text(pca_load$Comp.1,pca_load$Comp.2,row.names(pca_load))
abline(h = 0)
abline(v = 0)
plot(pca_load$Comp.3,pca_load$Comp.4,type = "n",xla = "Comp 3",
     ylab = "Comp 4",main = "PCA Loading",xlim = c(-.6,.6),ylim = c(-.6,.6))
text(pca_load$Comp.3,pca_load$Comp.4,row.names(pca_load))
abline(h = 0)
abline(v = 0)

par(mfcol = c(1,1),family = "STKaiti")



## 主成分得分 
pca_2$scores
##             Comp.1       Comp.2       Comp.3      Comp.4       Comp.5
##  [1,] -0.907008805  2.260218256  0.747449168 -0.53131318 -1.378609845
##  [2,] -0.006439092  2.380540445 -0.373307462  0.90313182 -1.369548871
##  [3,]  0.866146000  1.342964662 -0.222255744  0.45877909 -0.715735631
##  [4,]  1.036475013 -0.460860512 -1.222313116  0.70360205 -0.353069399
##  [5,] -0.106444366  0.121218769 -0.687449243  1.66436659  0.001499362
##  [6,]  2.472690608  0.445636101 -1.118263553  1.02614160  1.017292635
##  [7,]  1.811654727 -0.546865709 -2.472525125  0.12814779  0.294100185
##  [8,] -4.724768813 -2.129073823  1.791893951  2.73480398 -1.883189307
##  [9,] -0.540995337 -0.804428436  0.635858281  0.36666247 -1.296919313
## [10,]  1.071547003  0.602150919 -0.530939229 -0.43176695  0.684221336
## [11,]  1.956415689  0.310665831 -0.458099241  0.14997859  0.092638320
## [12,] -1.076565979  0.093704290  0.043456825  0.37738445 -0.291428360
## [13,]  0.921194618  1.751350299 -1.873860426 -0.59703495 -0.095074550
## [14,] -0.855408949  0.717365257 -1.010113115  2.50990698 -0.803801827
## [15,]  0.305380751  0.467390295  1.144313622  2.29999090 -0.957080876
## [16,]  1.464222856  0.464799538  1.147912916  1.94387413  0.559455318
## [17,]  0.817402740  0.525398558  0.423332900  1.45739319  0.176975916
## [18,]  3.733297322  1.045194728 -2.705690512  0.61723119  1.762147035
## [19,] -4.984480095 -0.632196236 -2.128159740 -1.14870248  0.029428377
## [20,] -1.652973468  0.635943393 -1.400208455  0.70417631 -1.036717103
## [21,] -0.373836040  0.238597231 -1.185901824 -1.25839302 -0.421200238
## [22,]  1.106362136 -1.015866134  0.011057081 -0.54321673 -0.617337530
## [23,]  2.005125078 -1.024564451 -0.173861434  0.73044461  0.209006605
## [24,]  0.798688458  0.555024918 -0.002443265  0.31691135 -0.705968519
## [25,] -0.476254510  2.287622805  0.039133686 -2.00738937  0.069321855
## [26,] -0.533804208  2.445147824  0.050956606  0.36482167  0.290996424
## [27,]  1.175318789  1.242071440  1.330540547 -0.22984304  2.684597929
## [28,]  1.923158832  0.134149150  1.526566765  0.64576155  3.381354947
## [29,]  1.450343554 -0.155755748 -0.064474629  1.10390498 -0.087073578
## [30,]  3.535565326 -0.631453143 -1.472010543  0.76901307  1.131863108
## [31,] -4.359904705 -1.309258670 -0.167577912  0.08749331 -2.300603567
## [32,] -0.537122500 -0.524025691 -0.564772607 -0.06266172 -0.780153213
## [33,] -0.051264796 -0.304837397 -0.944712621 -1.22921965 -0.432384546
## [34,]  2.017011512 -0.747799405 -0.185673436 -1.03029241 -0.006794525
## [35,]  1.063813907 -0.951842775  0.313849019 -0.19312671  0.198515472
## [36,]  0.031441937  0.051889177 -0.766654823 -0.05361298 -0.238864958
## [37,]  0.126604068  0.180633287 -1.399978638 -1.02899243 -0.241006898
## [38,]  0.154285753  1.220955996 -0.490317753  1.17316541 -0.776657672
## [39,]  0.567641549  0.158048118  0.166734581  0.06472442 -0.310704477
## [40,] -0.123232453 -0.236820037  0.183784713 -0.69474991 -0.344430972
## [41,]  0.383363097  0.912435943  0.671067180 -0.06575764 -0.112649854
## [42,]  1.654233737  0.703145072  0.836629526 -0.70249751  0.629696545
## [43,]  0.099493838  0.019455791  0.212599660 -0.73883375  0.775895988
## [44,] -2.908308959  1.183494909  1.542776101  0.55599418 -1.773936659
## [45,] -0.390653037 -0.070787717 -0.283008082 -0.35653634 -0.091894404
## [46,]  1.780557011 -0.656914892  0.485355733 -1.13459871 -0.219629818
## [47,]  1.659109550 -1.816361294 -1.034730143  0.48790258 -1.778386275
## [48,] -3.029536111 -1.235318121 -1.707465921  1.48346260  0.937881723
## [49,] -2.508875795 -0.008803607 -0.611585287  0.71420573  1.697824794
## [50,] -0.196802072  0.832078408 -0.390660016  1.38030098 -0.544659883
## [51,]  0.928007717  0.825740067  0.037853323 -0.23733976 -0.869744882
## [52,]  3.234203641 -0.292170625  0.464370308 -1.80035899 -2.800173229
## [53,] -0.148318004  0.100428870 -1.075373709  0.66555968  0.913480284
## [54,]  6.123870376 -0.255638116  1.039822004 -1.81788623 -2.812135653
## [55,] -4.416258530  0.745778019 -0.038200139  0.56872379  0.956426063
## [56,] -4.934912496 -0.429111973 -0.182349747  0.38799066  2.523674320
## [57,] -1.391394808  0.377546859 -0.712176445 -2.38681437  0.542549679
## [58,]  0.786247133 -1.297770066  0.528639599 -1.47774837  0.224036459
## [59,]  1.196757742 -1.472665538  0.545931343  1.10907664  0.472768672
## [60,] -0.472185292 -0.971310171  1.893784208 -0.01840468  0.329150581
## [61,] -1.158807012  1.429213473  0.443101366 -1.82166306  0.116672675
## [62,] -0.065497312  0.947317424 -0.093245353  0.41907143 -0.084457199
## [63,]  1.660684764  2.187683812  1.761034216  0.15674503  0.030477700
## [64,]  1.332434701 -0.059079266  0.274832634  0.09171161  0.201707118
## [65,]  0.478981001 -0.629108436  0.491712938  1.65287943 -0.537748899
## [66,]  0.611751949 -0.397171684 -0.709893546  0.09839410  0.268668610
## [67,]  0.832161534 -1.209898466  0.023867947 -0.07578773  0.582483399
## [68,] -4.980592683  0.401462461 -1.589227094 -1.12692735 -0.750524082
## [69,]  0.575951345 -0.361389738 -1.692947591 -1.38719654  0.214944306
## [70,]  1.853141470 -3.326602954  0.332093841 -0.25208782 -0.118861406
## [71,]  1.661853534 -2.273557159 -0.601039270  0.04028153  0.777071592
## [72,] -0.022097973 -1.251417185  0.542225002 -1.41274659  0.973525515
## [73,] -0.894432894  0.383416714  2.279982862 -0.60914267 -0.078557601
## [74,] -1.504016407  2.097611340  1.558791476 -0.48136213  0.584024966
## [75,] -0.870057412  2.475926235  2.385104000 -0.90496068  1.067010405
## [76,] -0.274730180 -0.341920908  2.597302212  0.08052605  0.330174654
## [77,] -0.296807179 -1.707687455  1.308815468  1.24320433  0.338053714
## [78,]  0.724982896 -3.101534988  2.169777453 -0.85898437  1.228708332
## [79,] -4.102493196 -0.925518563 -0.521024249 -2.04100750  0.710115645
## [80,] -4.112293796 -1.734029594  0.880179976 -1.68888352  0.007277055
##            Comp.6        Comp.7      Comp.8      Comp.9      Comp.10
##  [1,]  1.61891146 -0.3497120639  1.18686102 -0.46039078  1.024288006
##  [2,]  0.11845490  0.2123054190  0.77581444  1.82437617  0.286148130
##  [3,]  0.37681828 -1.0280256522  0.69745007  1.25420897  0.501055371
##  [4,] -1.20216340 -1.1308275976 -0.12886977 -0.42762886  0.273820321
##  [5,] -0.89157509 -0.7649817900  0.63929555  0.18900370  0.433115695
##  [6,] -1.28465491 -0.7941451556  0.57128786  0.04558882 -0.033464524
##  [7,]  0.27712489 -1.7029031950 -1.25112004 -0.72977747 -0.477225480
##  [8,]  0.43632019  2.6753427076 -0.32282086  0.41708201  0.218141046
##  [9,] -0.39448371 -0.0287335214 -0.30121051 -0.61103716 -0.218046813
## [10,] -0.77636731  0.0568495611  0.72652522 -0.07248579  0.117274734
## [11,] -1.72662246 -0.3879365062  0.46188999 -0.60114904  0.051005972
## [12,] -0.41991138  2.6215460021  2.94007911  0.24424318  0.266581862
## [13,]  0.44360405 -0.8301223986  0.79568213  0.65664883  0.161190320
## [14,]  0.46585617  0.8476990258  0.30100770  1.87984097 -0.114403673
## [15,]  0.56846522  0.9439935228 -1.18255264 -0.33409556 -0.361958607
## [16,]  0.53429555  0.0066009090 -1.02398269 -0.82199031 -0.521788247
## [17,]  0.03576719  0.1771722715 -0.58422246 -0.92825553 -0.195425403
## [18,] -0.50377060 -0.3450148194 -0.06306262 -0.20499212 -0.695145505
## [19,]  1.25245971  1.8086086961 -0.06479328  0.37304342 -0.305901713
## [20,]  0.82486538  0.8343920160  0.23093321  0.06295620  0.329782124
## [21,]  0.22976686  0.9660604253 -0.17830525  0.02235389  0.308023754
## [22,]  0.59915964  1.2389227808 -0.76007998 -0.05016285  1.094388604
## [23,]  0.10903183  0.9559848226 -0.86017398  0.26027951 -0.117163220
## [24,]  1.02882435 -0.3066919309  0.06124477 -1.09540972  0.716330278
## [25,]  1.38359118  0.3040906068 -0.21204826 -1.15166790  0.046834054
## [26,] -0.35746145  0.3689539192 -0.47636364 -0.67481635 -1.159854433
## [27,] -2.44512302  1.6168174681  0.78272349 -0.93664572  0.847962410
## [28,] -2.25615438  2.0033834431  2.21300150 -0.72763419  0.340770526
## [29,] -0.01629724  0.1771509654 -0.46497005  0.35041390 -0.469449697
## [30,]  1.35365310  1.0208334624 -0.22081112  0.92707419 -0.892661598
## [31,] -2.02736811 -0.4291986740 -0.22562606 -1.26683695  1.113682629
## [32,] -1.14141687  0.0002512136 -1.25504556 -0.83730715  0.388760581
## [33,] -0.14052210  0.7528339684 -0.71412054 -0.18273582  0.497141956
## [34,]  1.10746191  0.0801991032 -1.23022203 -0.38014243  0.959035056
## [35,]  0.41229832 -0.4774635142 -0.28091104 -0.23743146  0.588833408
## [36,]  1.27107834 -1.0446302018  1.08191034 -0.93581097 -0.740771614
## [37,]  0.02828798  0.7639456652 -0.91078268  0.23038391  0.002237209
## [38,] -1.07346720  0.1715012543 -0.09229852  0.33643738 -0.993287122
## [39,] -0.42672940  0.0506492319 -0.91515040  0.73675326 -0.588251832
## [40,]  0.69865674  0.0193276187  0.07789081  0.13496506 -0.474498595
## [41,]  1.26296608 -0.5598933055  0.77475476 -0.40957922 -0.002961045
## [42,]  1.56699321  0.0553695199 -0.00979641  0.54446936  0.574256865
## [43,] -0.03142207  0.6281627197 -1.63884912  0.75277037 -1.047195768
## [44,] -0.28525503 -1.3755731896  0.17421147 -1.10151479 -0.087464405
## [45,]  0.34294113  0.3504194396  0.24444770  0.73436901 -0.290011615
## [46,]  0.47263877  0.2555249364 -0.21172758  0.57403403  0.316300369
## [47,] -0.22399728 -1.4357172733  1.40104699 -0.29026336  0.347190441
## [48,]  2.38671389  0.1822545923  0.77199780 -2.19183081 -1.121849674
## [49,]  0.79638915  0.6543917847 -1.23849916 -1.26019424 -0.712742597
## [50,] -1.33124565 -0.7427401244 -0.16689483  0.35194776 -0.463477757
## [51,] -0.24646005  0.2006695647 -0.55844244  0.24529128 -0.566978978
## [52,] -0.22326277  0.4687799040  0.05633926 -0.98690874 -1.363256351
## [53,]  0.45715036 -1.3810793251 -0.31457036  0.16366137  2.153537030
## [54,] -1.27433406  0.0122281688  0.46868283  1.21601173 -0.772873263
## [55,]  0.19653781 -0.8099467142 -0.01345378  2.37515905  0.857383576
## [56,]  0.34252628 -2.2395869411 -0.61991309  1.38766504  0.801232215
## [57,]  0.20921033  0.3447820671  0.19966741 -0.07468244 -0.001603484
## [58,]  0.80168164  0.2673355727 -0.68863606 -0.10836088  1.635761058
## [59,]  0.79169432 -0.2679476812  0.15656419 -0.22087035 -1.257934768
## [60,]  2.13689576 -1.0022409862  1.70057797  0.48947618 -1.637724184
## [61,]  0.75763364 -0.0511633798  1.02345124  1.17011074 -0.643418924
## [62,] -1.29247872 -0.9939646967 -0.95757220 -0.23161982 -0.078529918
## [63,]  1.00539847 -1.1691021095 -0.23326349 -0.40807361  1.211122192
## [64,] -0.19360223 -0.3813344476 -0.52660567 -0.05331514  0.465380471
## [65,] -0.69879314 -0.3982153201  0.58827516  0.25958804  0.606444737
## [66,] -0.00986861  0.7164703164  0.29164535  1.18909989  0.511663286
## [67,] -0.98058533  1.3866833437 -1.83291903  1.25631912  0.138822751
## [68,] -2.55422417 -0.1080909810  0.08320312 -0.69098203 -0.019042712
## [69,] -0.15655973  1.0296571323  0.45233628  0.14210819  0.380980497
## [70,]  0.25185543  0.1041668502 -0.11759251 -0.48568765  1.647535031
## [71,]  0.46746969 -0.7224041225  1.33474445 -1.01519220  0.009724619
## [72,]  0.63272587  0.3890213839  1.17498133 -0.45891138  0.132790116
## [73,]  0.03206606  0.0319308793 -0.32242981  0.04753058  0.010224135
## [74,] -0.87957990 -0.0908778296 -0.95556644 -0.23200575 -0.671567050
## [75,]  0.24870373  0.2858498558 -1.24781146 -0.60698323  0.032321384
## [76,]  0.32770157 -0.6452116283  0.08731267 -0.37006617  0.584055538
## [77,] -0.14303177 -0.6975158130  0.61536462 -0.19108212 -0.596720683
## [78,] -0.49285124 -1.5475845657 -0.65283837  1.78524947 -0.975187441
## [79,] -1.05014424 -0.5670822204 -0.01887762 -0.22241105 -1.492767086
## [80,] -1.51086180 -1.2314544358  0.90260161  0.64842452 -0.820524581
##            Comp.11      Comp.12     Comp.13       Comp.14
##  [1,] -0.542522995 -0.636235678 -0.34090312 -0.0055901009
##  [2,]  0.124704359  2.000885567  0.62330655  0.1405643012
##  [3,]  0.664478951  0.515075146  0.32203564 -0.0751735255
##  [4,]  0.918373670  0.347350420  0.27567431  0.0204114843
##  [5,]  0.865669380  0.443541234 -0.32339600 -0.0575709081
##  [6,]  0.151343119 -0.006888342 -0.01397712 -0.0256188040
##  [7,] -0.054616194 -0.084790803  0.18804028  0.0822470022
##  [8,] -0.765484082 -0.130296147 -0.27446107 -0.0913191079
##  [9,] -0.531910538 -0.282824867  0.26004970 -0.0793999577
## [10,] -0.845278126 -0.491648499 -0.26620860  0.0004360375
## [11,] -0.649465263  0.134571845 -0.13336443  0.0207276929
## [12,]  0.826440864 -0.549685707  0.32662922  0.0463503137
## [13,]  0.464725662  0.688084096  0.02364578  0.0078503093
## [14,] -0.129326709  0.379932329 -0.58652846 -0.0903768295
## [15,] -0.650514911 -0.745560718  0.52701679  0.0628058138
## [16,]  0.588351438 -0.703089447  0.22947853 -0.1251482087
## [17,]  0.586752440  0.444207465  0.18377805 -0.0102702781
## [18,] -0.012244556  0.153342647 -0.77763528  0.1076838514
## [19,] -0.349524114  0.562966806 -0.34686251  0.1833499216
## [20,]  1.017998161  0.423597514  0.08317532  0.0957686074
## [21,] -0.292955389 -0.830249498  0.25835605 -0.0032318310
## [22,]  0.036278717 -0.435115246 -0.04204820  0.0451772549
## [23,] -0.263381799  0.188140591  0.18698454  0.0775304642
## [24,] -0.670199498 -0.037341345 -0.48928159  0.1388529779
## [25,]  0.505432381 -0.817379883 -0.07100312  0.1209709081
## [26,] -0.614068246  0.288382361 -0.15172004  0.0554099579
## [27,] -0.586227021  0.055169685 -0.36339885 -0.0250880243
## [28,]  0.516856004 -0.260295036  0.05420294  0.0406336285
## [29,] -1.173821392  0.229742401 -0.12355832  0.0215423798
## [30,]  0.395909115 -0.455100822  0.32084492  0.1591052225
## [31,]  0.052082196  0.641055465  0.16831851 -0.0655178167
## [32,] -0.471902691 -0.894375822 -0.14083443 -0.2285400201
## [33,] -0.304540143 -0.272544877  0.08757402  0.0036392368
## [34,]  0.097989291  0.075850908 -0.06324611  0.1069337439
## [35,] -0.672760424  0.957947986 -0.51249472  0.1718248071
## [36,] -1.206343867  0.114049507 -0.19619289  0.2656559116
## [37,] -0.083873425 -0.612164844  0.10116542 -0.3409642336
## [38,] -0.026872088 -0.604606384  0.04069449 -0.0560261617
## [39,]  0.097049830  0.271421628  0.08374408 -0.1982176371
## [40,]  0.381373119  0.258491843  0.24919942 -0.2681671201
## [41,]  0.154968220  0.586204842  0.06018837 -0.9667281562
## [42,] -0.348654073  0.104710655  0.09835729 -0.8003567278
## [43,]  0.314285530 -0.416817730  0.12228933  1.0631202693
## [44,]  1.336981311 -0.105178155 -0.20408990  1.0026684752
## [45,]  0.768567986  0.255957022 -0.42747509 -0.0552581005
## [46,]  0.208271381  0.162250410 -0.17689783  0.2584491346
## [47,] -0.671183396 -1.217988415 -0.20247332  0.2012456179
## [48,] -0.503499141  0.475456942 -0.10734979 -0.4313491653
## [49,]  1.312722267  0.453394485  0.48961618 -0.3737589191
## [50,]  0.413831480 -0.533561105  0.60034859  0.0607263536
## [51,]  0.916669101  0.037768405 -0.70023608  0.2017406038
## [52,]  1.189522424 -0.269592662 -0.87159874 -0.4971644155
## [53,] -1.189373437 -0.357673434  1.50483513  0.0514516795
## [54,] -0.977710807  0.290766608  0.65554616 -0.0234410793
## [55,] -0.079965177 -1.145589245 -1.02213658  0.0749077903
## [56,]  0.147757160 -0.544864268 -0.26382045 -0.0528946861
## [57,] -0.050245460  0.138755954  0.22533363  0.0460106490
## [58,]  0.469971690  1.227651676 -0.36642039  0.2078781216
## [59,] -0.210042448  0.058560020  0.14928990  0.2305207176
## [60,] -0.379904530 -0.139554161  0.50318238  0.2520551962
## [61,] -0.182652120 -0.609681202 -0.18438176 -0.1018063947
## [62,] -0.537572379 -0.214411981 -1.08702527 -0.3044232577
## [63,]  1.024227273 -1.110194843  0.25151284 -0.2190734786
## [64,]  0.448993139 -0.638743057  0.22308293 -0.1478853550
## [65,] -0.175133998  0.169524415  0.05832361 -0.1032731884
## [66,] -0.408668817 -0.258174790  0.20314222  0.0401751027
## [67,]  0.417105457 -0.220158363  0.04652788 -0.1675373480
## [68,] -0.324173449  0.712478122  0.19420469 -0.1121764262
## [69,] -0.070436439  0.047791180  0.40183278  0.0922481584
## [70,]  0.848868938  0.405554392 -0.11869623  0.0808869968
## [71,] -0.344925439  0.520959382 -0.36680926  0.3154647410
## [72,]  0.006731905 -0.122282462 -0.08530887  0.2212901468
## [73,] -0.413440277 -0.548702092 -0.19330277  0.0168105947
## [74,] -1.089666879  0.873745505 -0.14402898  0.0626094623
## [75,] -0.618680103  1.383241191  0.39556360  0.2282926666
## [76,]  0.315379147  0.318912284  0.10123703  0.0193581661
## [77,]  0.283664486  0.049637074  0.14434585  0.0314927774
## [78,] -0.006561166  0.705372950 -0.42125642 -0.2980760611
## [79,]  0.270852544 -0.661891058  0.81344843 -0.0420682806
## [80,]  0.339142873 -0.187247973  0.32429919 -0.2913836448
# write.xlsx(data.frame(pca_2$scores),file = "主成分得分.xlsx")



## 样本得分可视化  
pca_scores <- data.frame(pca_2$scores)
par(mfcol = c(1,2),family = "STKaiti",cex = 0.8)
plot(pca_scores$Comp.1,pca_scores$Comp.2,type = "n",xla = "Comp 1",
     ylab = "Comp 2",main = "sample PCA",col = "red")
text(pca_scores$Comp.1,pca_scores$Comp.2,row.names(pca_scores))
abline(h = 0)
abline(v = 0)
plot(pca_scores$Comp.3,pca_scores$Comp.4,type = "n",xla = "Comp 3",
     ylab = "Comp 4",main = "sample PCA",col = "red")
text(pca_scores$Comp.3,pca_scores$Comp.4,row.names(pca_scores))
abline(h = 0)
abline(v = 0)

par(mfcol = c(1,1),family = "STKaiti")


## 主成分回归分析,使用前8个主成分,能够保留约84%的原始数据信息
lmpcadf <- pca_scores[,1:8]
lmpcadf$Y <- mydata$居民消费价格指数
lm1 <- lm(Y~.,data = lmpcadf)
summary(lm1)
## 
## Call:
## lm(formula = Y ~ ., data = lmpcadf)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.36245 -0.06233  0.00801  0.05831  0.37195 
## 
## Coefficients:
##               Estimate Std. Error  t value Pr(>|t|)    
## (Intercept) 100.188750   0.014115 7098.126  < 2e-16 ***
## Comp.1       -0.216077   0.006802  -31.768  < 2e-16 ***
## Comp.2       -0.012048   0.011713   -1.029  0.30716    
## Comp.3       -0.064102   0.012584   -5.094 2.78e-06 ***
## Comp.4       -0.079734   0.012976   -6.145 4.16e-08 ***
## Comp.5       -0.006134   0.013382   -0.458  0.64809    
## Comp.6       -0.018681   0.014272   -1.309  0.19480    
## Comp.7        0.036709   0.015268    2.404  0.01882 *  
## Comp.8        0.062931   0.016632    3.784  0.00032 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1262 on 71 degrees of freedom
## Multiple R-squared:  0.9392, Adjusted R-squared:  0.9323 
## F-statistic:   137 on 8 and 71 DF,  p-value: < 2.2e-16
## 对回归结果进行逐步回归进一步筛选重要的主成分
lm2 <- step(lm1)
## Start:  AIC=-322.67
## Y ~ Comp.1 + Comp.2 + Comp.3 + Comp.4 + Comp.5 + Comp.6 + Comp.7 + 
##     Comp.8
## 
##          Df Sum of Sq     RSS     AIC
## - Comp.5  1    0.0033  1.1350 -324.43
## - Comp.2  1    0.0169  1.1485 -323.49
## - Comp.6  1    0.0273  1.1589 -322.76
## <none>                 1.1316 -322.67
## - Comp.7  1    0.0921  1.2237 -318.41
## - Comp.8  1    0.2282  1.3598 -309.98
## - Comp.3  1    0.4136  1.5452 -299.75
## - Comp.4  1    0.6018  1.7335 -290.55
## - Comp.1  1   16.0850 17.2166 -106.89
## 
## Step:  AIC=-324.43
## Y ~ Comp.1 + Comp.2 + Comp.3 + Comp.4 + Comp.6 + Comp.7 + Comp.8
## 
##          Df Sum of Sq     RSS     AIC
## - Comp.2  1    0.0169  1.1518 -325.25
## - Comp.6  1    0.0273  1.1623 -324.53
## <none>                 1.1350 -324.43
## - Comp.7  1    0.0921  1.2271 -320.19
## - Comp.8  1    0.2282  1.3631 -311.78
## - Comp.3  1    0.4136  1.5485 -301.58
## - Comp.4  1    0.6018  1.7368 -292.40
## - Comp.1  1   16.0850 17.2200 -108.88
## 
## Step:  AIC=-325.25
## Y ~ Comp.1 + Comp.3 + Comp.4 + Comp.6 + Comp.7 + Comp.8
## 
##          Df Sum of Sq     RSS     AIC
## - Comp.6  1    0.0273  1.1791 -325.38
## <none>                 1.1518 -325.25
## - Comp.7  1    0.0921  1.2440 -321.10
## - Comp.8  1    0.2282  1.3800 -312.80
## - Comp.3  1    0.4136  1.5654 -302.71
## - Comp.4  1    0.6018  1.7537 -293.63
## - Comp.1  1   16.0850 17.2369 -110.80
## 
## Step:  AIC=-325.38
## Y ~ Comp.1 + Comp.3 + Comp.4 + Comp.7 + Comp.8
## 
##          Df Sum of Sq     RSS     AIC
## <none>                 1.1791 -325.38
## - Comp.7  1    0.0921  1.2713 -321.36
## - Comp.8  1    0.2282  1.4073 -313.23
## - Comp.3  1    0.4136  1.5927 -303.33
## - Comp.4  1    0.6018  1.7810 -294.39
## - Comp.1  1   16.0850 17.2642 -112.67
summary(lm2)
## 
## Call:
## lm(formula = Y ~ Comp.1 + Comp.3 + Comp.4 + Comp.7 + Comp.8, 
##     data = lmpcadf)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.39634 -0.04943  0.01993  0.04901  0.36754 
## 
## Coefficients:
##               Estimate Std. Error  t value Pr(>|t|)    
## (Intercept) 100.188750   0.014113 7099.026  < 2e-16 ***
## Comp.1       -0.216077   0.006801  -31.772  < 2e-16 ***
## Comp.3       -0.064102   0.012582   -5.095 2.58e-06 ***
## Comp.4       -0.079734   0.012974   -6.146 3.67e-08 ***
## Comp.7        0.036709   0.015266    2.405 0.018694 *  
## Comp.8        0.062931   0.016630    3.784 0.000311 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1262 on 74 degrees of freedom
## Multiple R-squared:  0.9366, Adjusted R-squared:  0.9323 
## F-statistic: 218.7 on 5 and 74 DF,  p-value: < 2.2e-16