使用R语言进行主成分和因子分析

一、数据描述

数据来源2013年各地区水泥制造业规模以上企业的各主要经济指标,原始数据来源于2014年(《中国水泥统计年鉴》),试对用主成分和因子进行经济效益评价。

地区,企业个数(亿元),流动资产合计(亿元),资产总额(亿元),负债总额(亿元),主营业务收入(亿元),利润总额(亿元),销售利润率(%)
北京,8,17.6,43.8,17.8,26.6,-1.4,-5.2
天津,24,43.8,91.7,33.7,35.9,1.5,4.1
河北,231,281.4,993.8,647,565.1,22.7,4
山西,113,103.4,317.4,238.5,124,-2.1,-1.7
内蒙古,116,135.9,384.4,256.8,245.8,11.9,4.8
辽宁,151,151.4,417.6,247.9,350.3,23,6.6
吉林,69,333.7,627.7,415.2,539.8,25.4,4.7
黑龙江,96,142.1,331.6,234.7,183.2,13.5,7.4
上海,14,21.5,28.3,12.6,31.6,1.2,4
江苏,254,300.3,680,435.7,713.3,62.6,8.8
浙江,192,259.8,561.9,300.1,473.9,42.1,8.9
安徽,169,217.2,591.9,305.2,518.8,64.9,12.5
福建,111,93.2,276.4,163.9,284.8,11.2,3.9
江西,138,143.8,398.1,208.4,400.3,47.5,11.9
山东,295,351.8,792.7,412.5,878.3,80.3,9.1
河南,238,388.5,804.2,475.2,673.7,58.3,8.7
湖北,151,193,619.7,360.7,570.5,49.1,8.6
湖南,220,86.4,398.8,212.3,434.1,33.6,7.7
广东,204,217,592.1,345.3,474.3,40.5,8.5
广西,148,116,387.2,178.7,344,49.6,14.4
海南,15,53.1,102.1,52.9,80.7,5.6,6.9
重庆,78,158.3,419.8,294.1,185.1,8.4,4.5
四川,196,218.2,739.1,433.3,465.2,37.1,8
贵州,133,91.5,367.5,244.2,224.7,28.2,12.6
云南,149,134.2,434.7,290.2,251,11.3,4.5
西藏,10,11.3,26.5,5.4,17.4,4.1,23.7
陕西,116,82.2,312.6,203.8,253.2,14.4,5.7
甘肃,68,61.8,213.2,126.8,124.3,13.3,10.7
青海,20,39.5,152.7,123.1,44.4,3,6.7
宁夏,27,36.1,90.1,49.2,45.1,3.4,7.4
新疆,86,220.6,602.7,353.4,136.1,1.5,1.1

二、读入数据

df<-read.csv('f:/桌面/水泥制造企业.csv')attach(df)

attach(df)
names(df)<-c('areas','x1','x2','x3','x4','x5','x6','x7')

df

 dfareas  x1    x2    x3    x4    x5   x6   x7
1    北京   8  17.6  43.8  17.8  26.6 -1.4 -5.2
2    天津  24  43.8  91.7  33.7  35.9  1.5  4.1
3    河北 231 281.4 993.8 647.0 565.1 22.7  4.0
4    山西 113 103.4 317.4 238.5 124.0 -2.1 -1.7
5  内蒙古 116 135.9 384.4 256.8 245.8 11.9  4.8
6    辽宁 151 151.4 417.6 247.9 350.3 23.0  6.6
7    吉林  69 333.7 627.7 415.2 539.8 25.4  4.7
8  黑龙江  96 142.1 331.6 234.7 183.2 13.5  7.4
9    上海  14  21.5  28.3  12.6  31.6  1.2  4.0
10   江苏 254 300.3 680.0 435.7 713.3 62.6  8.8
11   浙江 192 259.8 561.9 300.1 473.9 42.1  8.9
12   安徽 169 217.2 591.9 305.2 518.8 64.9 12.5
13   福建 111  93.2 276.4 163.9 284.8 11.2  3.9
14   江西 138 143.8 398.1 208.4 400.3 47.5 11.9
15   山东 295 351.8 792.7 412.5 878.3 80.3  9.1
16   河南 238 388.5 804.2 475.2 673.7 58.3  8.7

...

三、对样本数据进行主成分分析

1.提取主成分

df.pr<-princomp(df[,c('x1','x2','x3','x4','x5','x6','x7')],cor=TRUE,scores=TRUE)
summary(df.pr,loadings = TRUE)

运行得到:

summary(df.pr,loadings = TRUE)
Importance of components:Comp.1   Comp.2   Comp.3    Comp.4     Comp.5     Comp.6     Comp.7
Standard deviation     2.272309 1.099611 0.584717 0.4413558 0.22149843 0.18479654 0.08698225
Proportion of Variance 0.737627 0.172735 0.048842 0.0278278 0.00700879 0.00487854 0.00108084
Cumulative Proportion  0.737627 0.910362 0.959204 0.9870318 0.99404062 0.99891916 1.00000000Loadings:Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7
x1  0.407         0.340  0.681  0.478  0.151       
x2  0.410 -0.155 -0.227 -0.591  0.596  0.224       
x3  0.421 -0.178 -0.301  0.135 -0.338  0.190 -0.729
x4  0.400 -0.269 -0.450  0.216 -0.311         0.643
x5  0.426         0.272 -0.183        -0.831 -0.118
x6  0.377  0.360  0.479 -0.283 -0.439  0.433  0.196
x7         0.858 -0.486         0.102           

说明:a、前两个主成分累计贡献率为91.036%,所有可以用前两个主成分来降维。

b、主成分的表达式:

Y1=0.407x1+0.410x2+0.421x3+0.400x4+0.426x5+0.377x6

Y2=-0.155x2-0.178x3-0.269x4+0.360x6+0.858x7

主成分的经济意义各线性组合中系数较大的几个指标的综合意义确定,成分Y1在x1,x2,x3,x4,x5这这个指标系数较大,在x6,x7系数较小,所有Y1主要反映的是水泥企业的整体规模和收入水平。主成分Y2在x6,x7上面系数较大,在其他指标上面系数较小,因此主成分2主要反映的是水泥企业的盈利能力。

2、计算主成分得分

主成分得分就是把各样本数据代入两个主成分的线下表达式,从而计算主成分得分。

df.pr$scores
df1<-data.frame(df$areas,df.pr$scores)
df1

df1<-data.frame(df$areas,df.pr$scores)
> df1df.areas    Comp.1      Comp.2     Comp.3      Comp.4      Comp.5       Comp.6      Comp.7
1      北京 -3.515640 -1.82793290  1.2312186 -0.42043074 -0.20977172  0.058936541 -0.02181273
2      天津 -3.003073 -0.27388041  0.3057919 -0.26320901  0.07346600  0.064959941 -0.08878631
3      河北  3.492990 -1.76504930 -1.1354352  0.83091321 -0.27063999 -0.224951646 -0.06432118
4      山西 -1.366870 -1.86572957  0.2729763  0.44984962  0.17070907  0.104080572  0.11184461
5    内蒙古 -0.502928 -0.61534857 -0.1095937  0.19265129  0.09068896 -0.045207363  0.04420153
6      辽宁  0.179882 -0.10846130  0.1796696  0.21988421  0.17106575 -0.106211797 -0.03572307
7      吉林  1.642415 -1.10452228 -0.8629399 -1.39822126 -0.01338830 -0.426576464  0.02692693
8    黑龙江 -0.781065 -0.10578258 -0.3740632  0.00035975  0.15311967  0.125397343  0.13894098
9      上海 -3.320677 -0.18636325  0.4490147 -0.28078672  0.01768420 -0.026870111 -0.00445479
10     江苏  3.615331  0.32645483  0.4863494 -0.08531633  0.13592028 -0.091041741  0.23298086
11     浙江  1.788433  0.29379000  0.1195645 -0.19348952  0.40015949  0.170807670 -0.08634148
12     安徽  2.083389  1.31107200  0.2515930 -0.38424689 -0.41459944  0.278439752 -0.01419167
13     福建 -1.077652 -0.46565494  0.4875302  0.16515444  0.14027990 -0.316436643 -0.07381221
14     江西  0.527362  1.29710347  0.3464652 -0.17054810 -0.22114898  0.076110671  0.01699948
15     山东  4.770580  0.61728673  1.0270857 -0.34787078  0.21396830 -0.065610349 -0.09328715
16     河南  4.049670 -0.07207734 -0.1732655 -0.52129861  0.38658167  0.203415790  0.04829138
17     湖北  1.862018  0.31272534  0.1341054 -0.21897171 -0.59398630 -0.258499835 -0.02868519
18     湖南  0.503000  0.48817164  0.9677778  0.94672161  0.11604429 -0.224571843 -0.08705109
19     广东  1.818569  0.16884189  0.1008128  0.24875567  0.11485019  0.069973843 -0.00926963
20     广西  0.338820  1.85055716  0.2862296  0.09014668 -0.22736954  0.255088948 -0.04460838
21     海南 -2.750894  0.22608263  0.0454661 -0.39954238 -0.00993694 -0.059410368 -0.03427266
22     重庆 -0.628661 -0.88772794 -0.5940808 -0.10450225 -0.06405085  0.092947440  0.09545077
23     四川  2.181136 -0.24175065 -0.4090686  0.41866229 -0.24938816  0.090796994 -0.09391571
24     贵州 -0.304797  1.08921175 -0.3175461  0.51661253 -0.16962058  0.166790217  0.15655822
25     云南 -0.170936 -0.74929228 -0.1002991  0.56045970  0.14910267  0.006228440  0.04195803
26     西藏 -3.091577  3.26751381 -1.3939541  0.05508742  0.30015544 -0.222173606 -0.06625040
27     陕西 -0.908212 -0.19240249  0.2268532  0.36462016 -0.04504990 -0.175866164  0.02455321
28     甘肃 -1.793673  0.82109182 -0.2513493  0.10918441 -0.01922901  0.037035723  0.00660759
29     青海 -2.623050  0.00150422 -0.2510706 -0.09292648 -0.21900016  0.001762138  0.10736844
30     宁夏 -2.882470  0.31321061  0.0222172 -0.14500038  0.04669932  0.000181659 -0.01947260
31     新疆 -0.131422 -1.92264209 -0.9680548 -0.14270184  0.04668469  0.440474245 -0.18642580

从而得到各个主成分在每个样本点的得分。

3、绘制主成分得分的样本散点图

attach(df1)
plot(df1$Comp.2~df1$Comp.1)
text(df1$Comp.1,df1$Comp.2+0.02,df1$df.areas,pos=3)

运行得到:

因为主成分只有两个,将样本主成分得分绘制出来,就可以得到样本的分布情况,从而可以对样本进行分类。

四、对样本数据进行因子分析

1、提取因子

在这里使用函数factanal()

fa<-factanal(df[,c('x1','x2','x3','x4','x5','x6','x7')],factors=2,rotation = 'varimax',scores = 'regression')
fa

在这里使用最大方差旋转方法

运行得到:

fa<-factanal(df[,c('x1','x2','x3','x4','x5','x6','x7')],factors=2,rotation = 'varimax',scores = 'regression')
> faCall:
factanal(x = df[, c("x1", "x2", "x3", "x4", "x5", "x6", "x7")],     factors = 2, scores = "regression", rotation = "varimax")Uniquenesses:x1    x2    x3    x4    x5    x6    x7 
0.170 0.133 0.009 0.007 0.059 0.005 0.677 Loadings:Factor1 Factor2
x1  0.824   0.388 
x2  0.915   0.176 
x3  0.992         
x4  0.994         
x5  0.845   0.477 
x6  0.635   0.770 
x7          0.568 Factor1 Factor2
SS loadings      4.605   1.335
Proportion Var   0.658   0.191
Cumulative Var   0.658   0.849Test of the hypothesis that 2 factors are sufficient.
The chi square statistic is 15.17 on 8 degrees of freedom.
The p-value is 0.0559 

前两个因子累计方差贡献率为84.9%,提取两个因子是合适的,跟进运行得到的因子载荷矩阵可以得到因子f1和f2与原始变量的关系:

x1=0.824f1+0.388f2

x2=0.915f1+0.176f2

x3=0.922f1

x4=0.944f1

x5=0.845f1+0.477f2

x6=0.635f1+0.770f2

x7=0.568f2

如果使用斜交旋转Promax的方法,将得到:

 fa<-factanal(df[,c('x1','x2','x3','x4','x5','x6','x7')],factors=2,rotation = 'promax',scores = 'regression')
> faCall:
factanal(x = df[, c("x1", "x2", "x3", "x4", "x5", "x6", "x7")],     factors = 2, scores = "regression", rotation = "promax")Uniquenesses:x1    x2    x3    x4    x5    x6    x7 
0.170 0.133 0.009 0.007 0.059 0.005 0.677 Loadings:Factor1 Factor2
x1  0.685   0.353 
x2  0.878   0.101 
x3  1.001         
x4  1.072  -0.181 
x5  0.665   0.452 
x6  0.309   0.809 
x7 -0.286   0.650 Factor1 Factor2
SS loadings      4.011   1.450
Proportion Var   0.573   0.207
Cumulative Var   0.573   0.780Factor Correlations:Factor1 Factor2
Factor1   1.000  -0.489
Factor2  -0.489   1.000Test of the hypothesis that 2 factors are sufficient.
The chi square statistic is 15.17 on 8 degrees of freedom.
The p-value is 0.0559 

斜交旋转的情况下,因子表达式为:

x1=0.568f1+0.353f2

x2=0.878f1+0.101f2

x3=1.001f1

x4=1.072f1-0.181f2

x5=0.665f1+0.452 f2

x6=0.309f1+0.809 f2

x7=-0.286f2+ 0.650f2

斜交旋转的情况下,更能说明因子的因子具体经济含有,从斜交旋转的载荷矩阵可以看到,变量x2,x3,x4在在第一个公共因子的载荷较大,因此,第一个公共因子主要反映企业的规模,变量x6,x7在第二个公共因子的载荷较大,说明第二个公共因子反映企业的盈利能力。

2、计算因子得分

fa$scores
df2<-data.frame(df$areas,fa$scores)
df2

df2df.areas    Factor1    Factor2
1      北京 -1.4143765 -0.1508311
2      天津 -1.3043410 -0.0889328
3      河北  3.5399545 -2.6706415
4      山西  0.4281325 -1.5294351
5    内蒙古  0.3150193 -0.8072694
6      辽宁  0.0608492 -0.1041206
7      吉林  1.4151234 -0.9917456
8    黑龙江  0.0320639 -0.5454919
9      上海 -1.5548788  0.0749349
10     江苏  0.6880203  1.2042261
11     浙江  0.1966863  0.6611251
12     安徽 -0.3187238  2.0231134
13     福建 -0.4136153 -0.2779676
14     江西 -0.8398720  1.6310805
15     山东  0.3714166  2.2721740
16     河南  1.3016494  0.5713237
17     湖北  0.4532688  0.7642714
18     湖南 -0.4557515  0.7670075
19     广东  0.5397438  0.3251183
20     广西 -1.0926484  1.9075718
21     海南 -1.2837594  0.0763441
22     重庆  0.6843438 -1.2564094
23     四川  1.4231037 -0.4835207
24     贵州 -0.2352031  0.2985555
25     云南  0.6242982 -1.0586728
26     西藏 -1.7056631  0.3287434
27     陕西 -0.2081481 -0.3079663
28     甘肃 -0.8373975  0.0894333
29     青海 -0.7299168 -0.4712487
30     宁夏 -1.2786471 -0.0284181
31     新疆  1.5992689 -2.2223515

3、跟据计算得出的因子得分,把样本点绘制的散点图上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/705778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

半监督节点分类-graph learning

半监督节点分类相当于在一个图当中&#xff0c;用一部分节点的类别上已知的&#xff0c;有另外一部分节点的类别是未知的&#xff0c;目标是使用有标签的节点来推断没有标签的节点 注意 半监督节点分类属于直推式学习&#xff0c;直推式学习相当于出现新节点后&#xff0c;需要…

游戏服务器业务线程模型探究

游戏服务器业务线程模型是指在游戏服务器中,如何组织和管理线程来处理游戏业务逻辑,尽可能减少不必要的锁竞争。以下介绍几种常见的游戏服务器线程模型。 使用线程组为每个玩家分配线程 这里使用线程组,而不是线程池,主要是为了强调线程池在处理任务自主权比较弱。我们通…

pytest-配置项目不同环境URL

pytest自动化中&#xff0c;在不同环境进行测试&#xff0c;可以将项目中的url单独抽取出来&#xff0c;通过pytest.ini配置文件实现&#xff08;类似postman中的“Environments”&#xff09; 使用步骤&#xff1a; 1&#xff09;安装pytest-base-url插件 pytest-base-url …

阿里云国际云解析DNS如何开启/关闭流量分析?

流量分析服务会涉及产生日志费用&#xff0c;所以开通内网DNS解析服务后&#xff0c;默认不会主动开启流量分析&#xff0c;需要您手动开启流量分析。对于未开启流量分析的用户&#xff0c;进入界面会提示您展示的都是模拟数据&#xff0c;您可以点击开启流量分析服务&#xff…

C语言中的动态数组:原理、实现与应用

引言 在C语言的世界里&#xff0c;静态数组虽然方便易用&#xff0c;但其固定的大小限制了其适应灵活变化的数据场景的能力。相比之下&#xff0c;动态数组作为一种能够在运行时动态调整容量的数组结构&#xff0c;极大地提升了程序处理可变规模数据集的效率和便利性。本文将深…

【PHP进阶】Redis管道技术的实际运用

大家好&#xff0c;我是程序员若风&#xff0c;又到了技术分享时刻。 今天我们来讲讲Redis管道技术 Redis管道技术介绍 Redis流水线技术是一种通过同时发出多个命令来提高性能的技术&#xff0c;而无需等待对每个单独命令的响应。大多数Redis客户端都支持流水线操作。 – 官网…

【pytorch】常用代码

文章目录 条件与概率torch.tensor()torch.rand()torch.randn()torch.randint()torch.multinominal() 逻辑运算torch.argmax()torch.max()torch.sum()torch.tanh()torch.pow() 功能性操作 torch.nn.functionalF.normalize()F.elu()F.relu()F.softmax() 张量计算torch.zeros()tor…

基于JavaWeb实现的校园新闻发布系统

一、系统架构 前端&#xff1a;jsp | bootstrap | js | css 后端&#xff1a;springboot | jdbc 环境&#xff1a;jdk1.6 | mysql | maven 二、 代码及数据库 三、功能介绍 01. web端-首页 02. web端-新闻列表 03. web端-新闻明细 04. 管理端-登录页…

数据可视化引领智慧工业新时代

在智慧工业的大潮中&#xff0c;数据可视化崭露头角&#xff0c;以其直观、清晰的方式赋能工业生产&#xff0c;为智慧工业的高效运转提供了强有力的支持。下面我就以可视化从业者的角度&#xff0c;简单聊聊这个话题。 数据可视化首先在智慧工业的生产监控中大显身手。通过将…

Vue3前端实现一个本地消息队列(MQ), 让消息延迟消费或者做缓存

MQ功能实现的具体代码(TsMQ.ts)&#xff1a; import { v4 as uuidx } from uuid;import emitter from /utils/mitt// 消息类 class Message {// 过期时间&#xff0c;0表示马上就消费exp: number;// 消费标识&#xff0c;避免重复消费tag : string;// 消息体body : any;constr…

手机打开 第三方 “微信、快手、QQ、电话、信息” 等

前期回顾 Vue3 TS Element-Plus —— 项目系统中封装表格搜索表单 十分钟写五个UI不在是问题_vue3 封装table 配置表格-CSDN博客https://blog.csdn.net/m0_57904695/article/details/135538630?spm1001.2014.3001.5501 目录 &#x1f916; 下载App如下图所示&#xff1a;…

HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)(A,B,C,D,E,F,G)

看不懂的英文&#xff0c;题意很难理解&#xff0c;这场还是有点难度的。 C需要处理&#xff0c;D是不太明显的dijikstra&#xff0c;E是线段树优化dp&#xff0c;F是个不好想的线段树&#xff0c;主席树应该也能做。 我觉得讲的很好的宝藏up主->B站视频讲解。之后会比较忙…

10 款数据恢复软件功能和有效性对比(2024 年更新)

数据丢失可能是一种痛苦的经历&#xff0c;无论是由于意外删除、硬件故障还是软件损坏。值得庆幸的是&#xff0c;数字时代带来了强大的数据恢复解决方案。 随着我们进入 2024 年&#xff0c;市场上充斥着旨在有效检索丢失数据的先进软件。在本文中&#xff0c;我们将探讨 2024…

Java WEB面试系列-02

1. Servlet 中如何获取 Session 对象? 使用HttpServletRequest对象的getSession方法获取session,通过getCookies获取Cookie。 2. Servlet 中过滤器有什么作用? Servlet监听器对特定的事件进行监听,当产生这些事件的时候,会执行监听器的代码。可以对应用的加载、卸载,对…

代码随想录 Leetcode494. 目标和

题目&#xff1a; 代码(首刷看解析 2024年2月26日&#xff09; 思路&#xff1a;根据题意&#xff0c;设两个背包&#xff0c;packageA存放前面是""的数字之和&#xff0c;packageB存放前面是“-”的数字之和 则sum packageA packageB; target packageA - packag…

科普:哪几类人适合做人力RPO蓝海项目?

在当今竞争激烈的市场环境中&#xff0c;人力资源管理对于企业的重要性日益凸显。人办理RPO(招聘流程外包)作为一种新兴的服务模式&#xff0c;帮助企业优化招聘流程&#xff0c;提高招聘效率和质量。那么&#xff0c;哪几类人适合做人力RPO蓝海项目呢?本文将为大家详细总结一…

QT之项目经验(windows下的sqlite,c++开发)

目录 一、需要时间去磨练gui的调整和优化 1. 借鉴网上开源项目学习 2. gui的布局及调整是磨人的一件事情 3. gui的布局也是可以用组件复刻的 4. 耗时的设备树 二、多线程异步弹窗 三、定时任务动态变更设定 1.确定按钮触发 2.此处监听定时任务时间的改变 3.此处对改变做出具…

ClickHouse 指南(三)最佳实践 -- 跳数索引

Data Skipping Indexes Data Skipping Indexes 2 1、简介 影响ClickHouse查询性能的因素很多。在大多数情况下&#xff0c;关键因素是ClickHouse在计算查询WHERE子句条件时是否可以使用主键。因此&#xff0c;选择适用于最常见查询模式的主键对于有效的表设计至关重要。 然…

k8s(5)

目录 使用Kubeadm安装k8s集群&#xff1a; 初始化操作&#xff1a; 每台主从节点&#xff1a; 升级内核&#xff1a; 所有节点安装docker &#xff1a; 所有节点安装kubeadm&#xff0c;kubelet和kubectl&#xff1a; 修改了 kubeadm-config.yaml&#xff0c;将其传输给…

k8s pv与pvc理解与实践

参考文章&#xff1a; https://blog.csdn.net/qq_41337034/article/details/117220475 一、 pv/pvc简述 Pv是指PersistentVolume&#xff0c;中文含义是持久化存储卷是对底层的共享存储的一种抽象&#xff0c;Pv由管理员进行配置和创建&#xff0c;只要包含存储能力&#xff…