查看原文
其他

数据呈现 | R制图:马赛克图,哪个时代的人爱阅读?

h简华 数据Seminar 2021-06-03

马赛克图(Mosaic Plot)是利用列联表对分类数据进行的图形表示,它可观察两个或多个分类变量之间的关系。

整个图形的
长、宽概率值均为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)])
## 显示平铺后的列联表--genderftable(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
## 绘制马赛克图# 图1mosaic(~tn50_00+gender+reading,data=tab.read.gender, highlighting = 'reading', highlighting_fill=c('#25C6FC','#FF2626'), direction=c('v','h','h'))
# 图2mosaic(~tn50_00+edu+reading,data=tab.read.edu, highlighting = 'reading', highlighting_fill=c('#25C6FC','#FF2626'),       direction=c('v','h','h'))
左右滑动查看更多

图形展示



运行上述代码,分类数据的马赛克图效果如下:
图1 马赛克图 · 性别

图2 马赛克图 · 受教育程度

几点结论



阅读是一种习惯,是一种自然的修养。不同时代、不同性别,甚至不同学历的人,对阅读的兴趣浓度也是不一样的。
  • 图1告诉我们:从50后到00后的群体变化来看,年轻的一代更爱阅读,对阅读兴趣更浓,并且喜欢阅读的女性比例不断增大,甚至超过男性;相反,年长的一代可能由于闲暇时间少,阅读成为一种常态似乎有一定的难度,而相对于女性群体,年长的男性保持阅读的人数比例相对较多。

  • 图2告诉我们:排除00后群体,越年轻的一代,接受教育的层次不断提高,并且接受教育越高的群体,喜欢阅读人数的比例也越高。比如,90后的群体教育程度在高中以上的比重明显高于50后的群体,其中阅读的群体比重也比50后的要高。同样地,90后群体教育程度为高中以上的阅读比重要高于义务教育程度群体的阅读比例。






►一周热文统计计量丨倍差法DID详解 (一):传统 DID数据呈现丨Python 手绘风格可视化神包:cutecharts
老姚专栏丨极大似然估计并不难理解
软件应用丨STATA经典资源快递已送达,千万别错过!
数据呈现 | R制图:日历热图,杭州空气质量知多少?统计计量丨部分线性函数型系数面板数据模型的估计与Stata应用数据呈现丨R与Office珠联璧合:如何实现R制图便捷导入PPT?










数据Seminar




这里是大数据、分析技术与学术研究的三叉路口





作者:h简华(何年华)编辑:Rye


    欢迎扫描👇二维码添加关注    

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存