其他
数据呈现 | Stata+R绘图:小提琴图,展示不同地区婚姻市场状况
图注:图片来源于网络
婚姻数据集
表1 全国31个省结、离婚状况
省份 | 地区 | 结婚人数 | 离婚人数 | 离婚率 |
---|---|---|---|---|
北京 | 东部 | 137818 | ||
天津 | 东部 | 97486 | 60742 | |
河北 | 东部 | 194276 | ||
山西 | 中部 | 279133 | 70803 | |
内蒙古 | 西部 | 176866 | 82095 | |
... | ... | ... | ... | |
陕西 | 西部 | 300405 | 100174 | |
甘肃 | 西部 | 210611 | 40866 | |
青海 | 西部 | 57332 | 12210 | |
宁夏 | 西部 | 59355 | 17264 | |
新疆 | 西部 | 151654 | 43879 |
注:离婚率=离婚人数/结婚人数。
绘图代码
Stata中vioplot命令:
import excel "C:\Users\Desktop\marriage.xlsx", sheet("Sheet1") firstrow
左右滑动查看更多
vioplot marriage_rate,over(area) ytitle('离婚率')
R中ggplot2包中的geom_violin命令:
## 加载包
library(openxlsx)
library(ggplot2)
library(hrbrthemes)
##读取数据
marriage<-read.xlsx('C:/Users/Desktop/marriage.xlsx')
##展示前6行
head(marriage)
# pro area mar unmar marriage_rate
#1 北京 东部 137818 66616 0.4833621
#2 天津 东部 97486 60742 0.6230843
#3 河北 东部 456728 194276 0.4253648
#4 山西 中部 279133 70803 0.2536533
#5 内蒙古 西部 176866 82095 0.4641650
#6 辽宁 东部 280169 151832 0.5419300
## 绘制图形
marriage$area<-factor(marriage$area,order=T,levels = c('东部','中部','西部'))
ggplot(marriage,aes(x=area,y=marriage_rate,fill=area))+
geom_violin(alpha=0.5) + ## 小提琴图
geom_jitter(alpha=0.3,color='red')+ ##添加抖动散点
geom_boxplot(width=0.1,color='grey',alpha=0.2)+ ##添加box
theme_ipsum() +
xlab('area')+
theme(legend.position = 'none')+
xlab('')+
ylab("离婚率")
左右滑动查看更多
图形展示
Stata绘图效果:
Stata小提琴图
R绘图效果:
R小提琴图
►往期推荐
回复【Python】👉简单有用易上手
回复【学术前沿】👉机器学习丨大数据
回复【数据资源】👉公开数据
回复【可视化】👉你心心念念的数据呈现
回复【老姚专栏】👉老姚趣谈值得一看
►一周热文
数据呈现 | Python中交互turtle包,让图形多点艺术
工具&方法丨 关于交互项的那些事(三):遗漏变量偏差 vs 多重共线性
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
欢迎扫描👇二维码添加关注