CHARLS 是一项具备中国大陆 45 岁及以上人群代表性的追踪调查,旨在建设一个高质量的公共微观数据库,采集的信息涵盖社会经济状况和健康状况等多维度的信息,以满足老龄科学研究的需要。
为利用国际上最佳的数据采集方式,并确保研究结果的国际可比性CHARLS 参照包括美国的健康与退休研究(HRS)在内的系列国际老龄调查研究开展调查设计。其全国基线调查于 2011-12 年进行,于 2013 年、2015 年、2018 年和 2020 年分别开展了 4 轮常规问卷的追踪调查,并于 2014 年完成了中国中老年人生命历程调查。为确保样本的代表性,CHARLS 基线调查覆盖了全国 150 个国家/地区、450 个村庄/城市社区,涉及 10,257户家庭的 17,708 人,反映了中国中老年人群的总体情况。2019 年底到 2020 年初,新冠疫情在中国爆发,为及时记录新冠疫情对中国中老年人生活和健康的影响,在 2020 年的第 5 轮调查中增加采集了疫情相关的信息。
关于Charls数据的文章中,我们看到很多文章有中国地图的展示,便于展示一些疾病的分布人员分布等。
我目前专门编写了一个scimp包,目前只有一个charlsmap函数,顾名思义,这个是一个专门用于绘制charls数据地图的函数,但并不是说它只能绘制charls地图,基本中国省市级地图都能绘制,肯定没有其他的专业地图绘制包专业和功能详尽,但是可以快速出图,目的可以帮助新手小白快速出图,节省你的时间。
下面我来演示一下,先导入数据和R包
library(scimap)
library(haven)
data2021<-read_dta('E:/r/yanshi/2.dta') #data2011
数据是我自己提取的charls2011年的基线表数据,我们可以看到有城市,和省的变量分布
Charlsmap函数的格式如下,data就是你的研究数据,x是研究变量
charlsmap(data,x=NULL,lowcol="white",highcol="red",midcol=NULL,color='black',title=NULL,type="city",
axis.text.col="black",background.col="white",xlim = NULL,ylim = c(-2787082,1654989),
xlab=NULL,ylab=NULL,username=NULL,token=NULL)
绘制地图至少有填入一个参数,当你只填入数据时,绘制的就是参数者分布地图,绘制速度根据你的电脑情况定
###不选择的话就是参数者分布
charlsmap(data = data2021,username=username,token=token)
添加标题
###添加标题
charlsmap(data = data2021,username=username,token=token,title = "参与者分布地图")
假设我是有研究对象的,我想研究吸烟者在全国的分布,这里我要说一下,scimap包接受两种数据格式,一个时0和1格式,就是是否吸烟
或者是个数格式,就是个数字,比如wc这种(假设它是个数)
如果是多分类或者其他格式,请转成这两种格式。继续刚才的问题,我想研究吸烟者在全国的分布,
###吸烟者分布
charlsmap(data = data2021,x="smoking",username=username,token=token)
上面标题也会改成吸烟者分布,假设研究的变量这里是例数,我这里使用年龄代替例数
###例数分布,使用aged代替例数,没有实际意义
charlsmap(data = data2021,x="age",username=username,token=token)
修改边框颜色
###例数分布,修改边框颜色
charlsmap(data = data2021,x="age",color = "blue",username=username,token=token)
默认的是红白变化,我们还可以进行其他的自定义颜色
##自定义颜色
charlsmap(data = data2021,x="age",lowcol="yellow",highcol="blue",username=username,token=token)
还可以使用3种颜色的
###三种颜色
charlsmap(data = data2021,x="age",lowcol="yellow",highcol="red",midcol = "blue",username=username,token=token)
除了绘制市级地图,也可以绘制省级地图,需要加个type = “province”,其他基本一样
charlsmap(data = data2021,username=username,token=token,type = "province")
自定义颜色
charlsmap(data = data2021,x="age",lowcol="yellow",highcol="red",
username=username,token=token,type = "province")
吸烟者的分布
charlsmap(data = data2021,x="smoking",username=username,token=token,type = "province")
自定义颜色
charlsmap(data = data2021,x="smoking",lowcol="yellow",highcol="blue",username=username,token=token,type = "province")
三种颜色
charlsmap(data = data2021,x="smoking",lowcol="yellow",highcol="red",midcol = "blue",
username=username,token=token,type = "province")
还有一种是这种这定义分层的,也可以轻松做,用到的是一个cut参数把它分段,可以默认分段或者自定义分段,我简单演示一下
charlsmap(data = data2021,x="smoking",cut = T,username=username,token=token)
默认分成3段,现在我分成5段
charlsmap(data = data2021,x="smoking",cut = T,cut.break = 5,username=username,token=token)
还有一些修改标签、自定义颜色等操作
charlsmap(data = data2021,x="smoking",cut = T,cut.lab = c("0-45","45-89","89-132"),username=username,token=token,
cut.col = c("#753f93","#fddb2f","#fcd6a5"))
如果是自己生成的数据怎么秒出图,需要把城市名字改成city,省的名字改成province就可以和charls一样秒出图了。
scimp包发布,轻松秒绘制charls数据文章中的地图