其他
数据呈现 | R制图:马赛克图,哪个时代的人爱阅读?
整个图形的长、宽概率值均为1,其被划分为多个矩形,每个矩形边长与所关联分类变量的概率分布成比例。马赛克图由Hartigan和Kleiner于1981年引入,后经Friendly(1994)进行了改进。
数据集
如何绘制一个马赛克图来可视化一个列联表呢?
下面我们基于2018年CFPS个人调查数据集,抽取部分信息并经过处理,通过绘制马赛克图来探视不同时代的人在过去一年的阅读情况。
下表1展示了不同特征下的阅读相关细节,其中,ibirthy是出生年份,tn50_00表示50后至00后标签,gender表示性别,city是户籍,edu是教育程度,reading是过去一年是否阅读书籍的虚拟变量。
表1 个人在过去一年中的阅读情况
图形绘制—Mosaic
基于上述数据集,我们使用vcd包里的Mosaic()函数绘制马赛克图:
## 加载包
library(openxlsx)
library(vcd)
library(grid)
## 读取数据
read.data<-read.xlsx('reading.xlsx')
head(read.data)
# ibirthy gender city reading edu tn50_00
#1 1969 女 城市 0 高中以上 60后
#2 1966 男 城市 0 高中以上 60后
#3 1989 男 城市 1 高中以上 80后
#4 1997 女 农村 1 义务教育 90后
#5 1990 女 农村 1 高中以上 90后
#6 1988 男 农村 1 高中以上 80后
## 展示不同时代的样本分布
table(read.data$tn50_00)
# 50后 60后 70后 80后 90后 00后
# 5004 6168 5219 5191 4274 3547
## 排列顺序
read.data$tn50_00<-factor(read.data$tn50_00,order= T,
levels=c('50后','60后','70后','80后','90后','00后'))
## 创建三维列联表
tab.read.gender<-xtabs(~gender+reading+tn50_00,data=read.data[,c(6,2,4)])
tab.read.edu<-xtabs(~edu+reading+tn50_00,data=read.data[,c(6,5,4)])
## 显示平铺后的列联表--gender
ftable(tab.read.gender)
# tn50_00 50后 60后 70后 80后 90后 00后
# gender reading
# 男 0 2115 2458 1911 1604 1005 449
# 1 369 550 688 990 1065 1412
# 女 0 2372 2830 2044 1617 1096 326
# 1 148 330 576 980 1108 1360
## 绘制马赛克图
# 图1
mosaic(~tn50_00+gender+reading,data=tab.read.gender,
highlighting = 'reading',
highlighting_fill=c('#25C6FC','#FF2626'),
direction=c('v','h','h'))
# 图2
mosaic(~tn50_00+edu+reading,data=tab.read.edu,
highlighting = 'reading',
highlighting_fill=c('#25C6FC','#FF2626'),
direction=c('v','h','h'))
图形展示
运行上述代码,分类数据的马赛克图效果如下:
几点结论
阅读是一种习惯,是一种自然的修养。不同时代、不同性别,甚至不同学历的人,对阅读的兴趣浓度也是不一样的。
图1告诉我们:从50后到00后的群体变化来看,年轻的一代更爱阅读,对阅读兴趣更浓,并且喜欢阅读的女性比例不断增大,甚至超过男性;相反,年长的一代可能由于闲暇时间少,阅读成为一种常态似乎有一定的难度,而相对于女性群体,年长的男性保持阅读的人数比例相对较多。
图2告诉我们:排除00后群体,越年轻的一代,接受教育的层次不断提高,并且接受教育越高的群体,喜欢阅读人数的比例也越高。比如,90后的群体教育程度在高中以上的比重明显高于50后的群体,其中阅读的群体比重也比50后的要高。同样地,90后群体教育程度为高中以上的阅读比重要高于义务教育程度群体的阅读比例。
►一周热文统计计量丨倍差法DID详解 (一):传统 DID数据呈现丨Python 手绘风格可视化神包:cutecharts
老姚专栏丨极大似然估计并不难理解
软件应用丨STATA经典资源快递已送达,千万别错过!
数据呈现 | R制图:日历热图,杭州空气质量知多少?统计计量丨部分线性函数型系数面板数据模型的估计与Stata应用数据呈现丨R与Office珠联璧合:如何实现R制图便捷导入PPT?
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
作者:h简华(何年华)编辑:Rye
欢迎扫描👇二维码添加关注