数据的导入

> data=read.csv('F:/R语言工作空间/pca/data.csv') #数据的导入
>
> ls(data) #ls()函数列出所有变量
[1] "X" "不良贷款率" "存贷款比率" "存款增长率" "贷款增长率" "流动比率" "收入利润率"
[8] "资本充足率" "资本利润率" "资产利润率"
> dim(data) # 维度
[1] 15 10

一.数据标准化

> std_data=scale(data[2:10])  #数据标准化
>
> rownames(std_data)=data[[1]]  #数组各行名字定义为数据文件的的第一列
>
> class(std_data)   #查看数据类型
[1] "matrix"
> df=as.data.frame(std_data)   #转化为数据框
> class(df)
[1] "data.frame"

习惯数据框格式

数据标准化

> std_data=scale(data[2:10])  #数据标准化
>
> rownames(std_data)=data[[1]]  #数组各行名字定义为数据文件的的第一列
>
> class(std_data)   #查看数据类型
[1] "matrix"
> df=as.data.frame(std_data)   #转化为数据框
> class(df)
[1] "data.frame"

  

二.主成分分析结果

> df.pr=princomp(df,cor=TRUE) #主成分分析
> summary(df.pr,loadings=TRUE)  #列出结果 包含特征向量
Importance of components:Comp.1 Comp.2 Comp.3 Comp.4  Comp.5  Comp.6 Comp.7   Comp.8   Comp.9
Standard deviation     1.8895 1.3087 1.2365 0.9593 0.86553 0.46727 0.4168 0.293547 0.201641
Proportion of Variance 0.3967 0.1903 0.1699 0.1023 0.08324 0.02426 0.0193 0.009574 0.004518
Cumulative Proportion  0.3967 0.5870 0.7569 0.8591 0.94235 0.96661 0.9859 0.995482 1.000000Loadings:Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9
不良贷款率  0.425         0.188  0.288  0.423  0.173  0.695
资本充足率 -0.359        -0.521         0.234  0.546  0.127 -0.214 -0.426
存贷款比率  0.301  0.532 -0.142        -0.370 -0.324  0.248 -0.320 -0.438
流动比率   -0.192  0.429 -0.416  0.439  0.306 -0.384 -0.113         0.399
资产利润率 -0.392  0.332        -0.438 -0.178         0.452  0.494  0.238
资本利润率 -0.413 -0.185  0.259 -0.103  0.428 -0.562  0.167        -0.436
收入利润率 -0.299 -0.455 -0.116  0.299 -0.481 -0.159  0.432 -0.329  0.221
存款增长率 -0.243  0.249  0.387  0.636 -0.282  0.171         0.336 -0.309
贷款增长率 -0.300  0.342  0.518 -0.127  0.101  0.214        -0.620  0.260

  结果比较杂乱,接下来确定主成分个数

三.确定主因子个数

根据累计贡献率大于90%,确定

计算相关系数矩阵

> cor(df)  #相关系数矩阵不良贷款率 资本充足率 存贷款比率 流动比率 资产利润率 资本利润率 收入利润率 存款增长率
不良贷款率     1.0000   -0.57238    0.31761 -0.20055   -0.70121   -0.45662   -0.53825   -0.16790
资本充足率    -0.5724    1.00000   -0.33566  0.61749    0.51053    0.32931    0.37424    0.01208
存贷款比率     0.3176   -0.33566    1.00000  0.16576   -0.02387   -0.72464   -0.56974   -0.11599
流动比率      -0.2005    0.61749    0.16576  1.00000    0.31280    0.07588   -0.03629    0.27787
资产利润率    -0.7012    0.51053   -0.02387  0.31280    1.00000    0.44019    0.13002    0.24387
资本利润率    -0.4566    0.32931   -0.72464  0.07588    0.44019    1.00000    0.38484    0.26496
收入利润率    -0.5383    0.37424   -0.56974 -0.03629    0.13002    0.38484    1.00000    0.24963
存款增长率    -0.1679    0.01208   -0.11599  0.27787    0.24387    0.26496    0.24963    1.00000
贷款增长率    -0.2863    0.03398   -0.14413  0.08791    0.59245    0.55095   -0.09947    0.60455贷款增长率
不良贷款率   -0.28628
资本充足率    0.03398
存贷款比率   -0.14413
流动比率      0.08791
资产利润率    0.59245
资本利润率    0.55095
收入利润率   -0.09947
存款增长率    0.60455
贷款增长率    1.00000

 求特征值和特征向量

>y=eigen(cor(df)) #求出cor(df)的特征值和特征向量
> y$values#输出特征值
[1] 3.57008 1.71263 1.52895 0.92033 0.74914 0.21834 0.17370 0.08617 0.04066

 输出前五个累计贡献率 

> sum(y$values[1:5])/sum(y$values)   #求前5个主成分的累计方差贡献率
[1] 0.9423
>

 

输出前5个主成分的载荷矩阵
> df.pr$loadings[,1:5]#输出前5个主成分的载荷矩阵Comp.1   Comp.2   Comp.3   Comp.4  Comp.5
不良贷款率  0.4245  0.03196  0.18753  0.28824  0.4226
资本充足率 -0.3595  0.02955 -0.52091  0.04673  0.2341
存贷款比率  0.3013  0.53170 -0.14155 -0.09645 -0.3697
流动比率   -0.1923  0.42903 -0.41595  0.43880  0.3061
资产利润率 -0.3916  0.33239 -0.04543 -0.43786 -0.1780
资本利润率 -0.4134 -0.18527  0.25918 -0.10322  0.4280
收入利润率 -0.2990 -0.45539 -0.11566  0.29949 -0.4810
存款增长率 -0.2432  0.24926  0.38706  0.63621 -0.2824
贷款增长率 -0.3000  0.34207  0.51768 -0.12671  0.1011

  画出碎石图

screeplot(df.pr,type='lines')  #画出碎石图

  

画出散点图

 

biplot(df.pr)     #画出主成分散点图

  

四.获取相关系数矩阵的特征值和特征向量

> y=eigen(cor(df)) #求出cor(df)的特征值和特征向量
> y$values#输出特征值
[1] 3.57008 1.71263 1.52895 0.92033 0.74914 0.21834 0.17370 0.08617 0.04066

  

五.计算主成分总得分

.

> s=df.pr$scores[,1:5]#输出前5个主成分的得分
> #s[,1]
> #计算综合得分
>
> scores=0.0
> for (i in 1:5)scores=(y$values[i]*s[,i])/(sum(y$values[1:5]))+scores
>
>
> cbind(s,scores)#输出综合得分信息Comp.1  Comp.2    Comp.3   Comp.4  Comp.5   scores
北京农商银行             -0.9927 -0.4565 -0.773341  0.72371  0.5357 -0.52362
上海农商银行              0.5461 -0.4069  0.228600 -0.05691 -1.1411  0.08196
广州农商银行             -1.7680 -0.5058  0.091704  0.46582  0.4301 -0.74130
天津农商银行              0.8670 -1.0680 -0.118665 -1.13960 -0.2242 -0.01556
(宁波)慈溪农村商业银行 -0.9713  2.0909 -2.590721  0.44416  0.7692 -0.33751
江阴农商银行              0.6533  0.3486 -1.678249  0.47363 -0.4051  0.05848
成都农商银行             -2.5372 -3.2477  0.008494  0.24227  1.2955 -1.58158
重庆农村商业银行         -1.0099 -0.1061  1.753280  0.23145 -0.6871 -0.16602
(宁夏)黄河农村商业银行 -0.5903  0.7269  1.227349  0.59878 -1.1312  0.08463
(陕西)旬阳农村商业银行  0.1928  1.7666 -0.273642 -1.29087  0.7258  0.31262
太仓农村商业银行          3.1937 -1.4905 -1.089861 -1.17931 -0.6266  0.66358
武汉农村商业银行         -0.8349  0.1686 -0.119553 -1.63283 -0.4856 -0.55902
安徽合肥科技农商银行     -0.2713  0.3084 -0.273867  1.79049 -1.2170 -0.01448
福州农商银行             -1.5557  1.6844  2.185117 -0.80662  0.7243  0.05566
沈阳农商银行              5.0781  0.1871  1.423354  1.13584  1.4374  2.68217

  

 

转载于:https://www.cnblogs.com/jin-liang/p/9064020.html

R语言主成分分析(PCA)相关推荐

  1. R语言主成分分析PCA和因子分析EFA、主成分(因子)个数、主成分(因子)得分、主成分(因子)旋转(正交旋转、斜交旋转)、主成分(因子)解释

    R语言主成分分析PCA和因子分析EFA.主成分(因子)个数.主成分(因子)得分.主成分(因子)旋转(正交旋转.斜交旋转).主成分(因子)解释 目录

  2. R语言主成分分析PCA谱分解、奇异值分解预测分析运动员表现数据和降维可视化

    最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出. 本文描述了如何 使用R执行主成分分析 ( PCA ).您将学习如何 使用 PCA预测 新的个体和变量坐标.我们还将提供  ...

  3. R 语言主成分分析(PCA)实战教程

    作者:落痕的寒假 原文:https://blog.csdn.net/LuohenYJ/article/details/97950522 声明:本文章经原作者同意后授权转载. 主成分分析 Princip ...

  4. R语言主成分分析(Principle Component Analysis、PCA)

    R语言主成分分析(Principle Component Analysis.PCA) 利用正交变换把可能线性相关变量表示的观测数据,转换为由少数几个线性无关变量(主成分)表示的数据.(重构原始特征空间 ...

  5. R语言ggplot2 | PCA分析及其可视化

    主成分分析 主成分分析(PCA)的基本介绍 PCA常用的参数 标准化 特征值和特征向量 载荷 得分 R语言实现PCA分析 逐步计算PCA分析中的参数 prcomp函数 princomp函数 自定义函数 ...

  6. 菜鸟学R语言(PCA)

    主成分分析(PCA) 理论介绍 PCA的全拼是Principal Component Analysis,翻译成中文就是主成分分析.在探索性数据分析中应用广泛,能更好地可视化在具有许多变量的数据集中出现 ...

  7. R语言主成分分析法笔记

    01.什么是主成分分析法 简要概括主成分分析法的作用:把能反映某种特征的很多指标汇总成一个指标. 举例而言,一家银行的流动性可以体现在它的现金资产占比和定期存款占比上-- 银行A的现金资产占比是0.1 ...

  8. r语言主成分分析_PCA主成分分析

    PCA主成分分析 最近遇到了主成分分析法这个东西,一开始我觉得简直天才啊,这个想法虽然从经济意义上来解释有点奇怪,毕竟是数学方法计算出来的解释因子,但鉴于没人知道现实世界究竟被多少因素影响,这种方法可 ...

  9. R语言主成分分析可视化(颜值高,很详细)

    文章目录 PCA 特征值可视化 提取变量结果 变量结果可视化 变量和主成分的cos2可视化 变量对主成分的贡献可视化 Dimension description 提取样本结果 样本结果可视化 样本的c ...

最新文章

  1. git diff Git查看版本改动
  2. c语言名字程序,c语言获得程序位数和操作系统位数和名称
  3. poj1654 Area
  4. [python]逆水行舟不进则退(1)
  5. 全球 PC 应用程序有半数已过期未更新
  6. 【STM32】定时器中断实验代码详解
  7. 安卓程序添加指纹解锁功能
  8. kyma上service catalog的安装部署方法
  9. 使用git克隆GitHub仓库时报错解决方案
  10. java程序语言228_2019年Java面试题基础系列228道(5)
  11. python中的try与if,python中if和try的区别是什么
  12. vue中class绑定函数
  13. php curl_setopt 登录 获取数据
  14. 星辰数据空号检测API文档
  15. Lakes.AERMOD.View.v8.9.0 1CD大气扩散模型软件包
  16. 《分形艺术,当科学嫁给了艺术》稿件撰写历程
  17. 软件环境常识 --dev sit uat
  18. iphone计算机的声音,苹果电脑如何自定义声音怎么设置
  19. Unity 实现游戏中多相机屏幕CutIn效果
  20. RabbitMQ:使用Docker构建RabbitMQ高可用负载均衡集群

热门文章

  1. 企业微信重磅更新,查看历史朋友圈终于打通了,而且能展示视频号
  2. ubuntu20.04安装有道词典报错处理方法
  3. Android集成阿里云推送功能
  4. Hibernate升级到5.4.18.final的过程踩过的坑
  5. 2022款联想小新air14和联想air15 区别选哪个好
  6. 【100个 Unity实用技能】☀️ | C#中 Add 和 AddRange 的区别 及 使用示例
  7. 轻量化日志Loki全攻略,再也不会整懵了
  8. web 漏洞扫描和验证工具:Vulmap使用
  9. Source_Insight4 配置单行-多行注释快捷键
  10. RFID高频读写器D322系列