首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从二维数据分析19大行业中“老大难”

从二维数据分析19大行业中“老大难”

作者头像
herain
发布2025-07-26 13:17:26
发布2025-07-26 13:17:26
940
举报
文章被收录于专栏:数据指象数据指象

前几天写了 一组数据推算居民收入分布!被网友喷太简单了。今天来点难度,数据从一维升级到二维,并使用更高级的“多维标度”分析法来做数据的可视化。

我们从国家统计局下载了最近5年19个行业的单位数的二维表格:

1,先看数据的整体:

从总指标“法人单位数”的变化,可以看出 总体法人单位数在2019-2022年持续高速增长,但在2023年出现下降。

2022到2023年增长率:(35014905 - 37169634) / 37169634 ≈ -5.80%

2023年是行业整体的难过之年。

2,细看行业的变化:

18个行业的单位数 存在明显的大小分别,行业之间的对比没有意义。各行业的单位数的近5年的涨跌趋势与整体大盘一致。明显在2023年受挫下跌。

3,如何找到行业的老大难?

行业的大难需要用指标来定义,单位数来定义为“大”,2023的下跌幅度定义为“难”。找到两个核心的指标后,我们借助R工具使用多维标度分析找到行业大难的topn。

数据整理之后:提取行业名称和计算了2023年涨幅指标。

4, 用R进行多维标度分析

这里我们使用了R中的vegan包中的metaMDS方法,首先我们将数据转换成适合处理的矩阵:

并对单位数进行归一化处理,然后使用R开始分析:

代码语言:javascript
复制
df <- data.frame(hangye23d=行业数据
> matrix_from_df <- as.matrix(df)
> rownames(matrix_from_df) <- 行业数据$hange
> matrix_from_df


d<-dist(matrix_from_df)
fit2<-metaMDS(d,k=2)
stressplot(fit2)


d<-dist(matrix_from_df)
fit<-isoMDS(d,k=2)
dd <- fit$points
colnames(dd) <- c("x", "y")

理想情况下,增加的排序距离等于增加的观测距离,所有的点都落在一条单调递增的线上,越一致越好,偏差大则结果差。Stress值就是下图回归线的残差。

当然很理想,因为只使用了两个核心变量。

对isoMDS的分析结果使用ggplot可视化

代码语言:javascript
复制
ggplot(dd, aes(x=x, y=y, label=rownames(dd))) 
+geom_point(size=4,shape=as.factor(y)) + scale_size_area()
+geom_text_repel(family ="PingFang SC")
+geom_vline(xintercept = 0, linetype = "dashed", color = "red")
+geom_hline(yintercept = 0, linetype = "dashed", color = "blue")

行业的老大难的结果一目了然:2023年的采矿业和金融业最难,规模最大的是批发和零售业且跌幅也较大。稳中向好的行业是 居民服务、修理和其他服务。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据指象 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档