最新R语言对BRFSS数据探索回归数据分析报告 附代码数据.docx
《最新R语言对BRFSS数据探索回归数据分析报告 附代码数据.docx》由会员分享,可在线阅读,更多相关《最新R语言对BRFSS数据探索回归数据分析报告 附代码数据.docx(11页珍藏版)》请在冰豆网上搜索。
最新R语言对BRFSS数据探索回归数据分析报告附代码数据
R语言对BRFSS数据的探索
摘要
该项目包括探索真实世界的数据集-疾病预防控制中心2013年的行为风险因素监测系统-并创建了三个学生选择的研究问题的报告。
所选择的研究问题及其各自的结果如下:
•被访者对其身体质量指数(BMI)的健康状况有何看法?
性别是否有区别?
是的,健康知觉与BMI之间有明显的关系,也有性别差异。
•作为一名幼儿的父母,如何影响报告的睡眠时间?
这在性别上有什么不同的报道?
◦作为一个年幼的父母,导致报告的睡眠减少,包括男女之间的差异。
•是否对与一年中调查时间有关的一般健康认知做出反应?
各州之间有什么分歧?
冬季和非冬季的反应在国家层面上没有显着差异,但是在各州的反应方面存在差异。
建立
初始阶段包括加载所需的软件包和数据。
加载包
library(ggplot2)
library(dplyr)
加载数据
数据从本地文件加载
load("brfss2013.RData")
dim(brfss2013)
##[1]491775330
从上面可以看出,数据集由近500,000个观察值和330个可能的变量组成。
并不是所有的观测数据都包含了所有的变量,因此数据质量在下面的每个问题上分别进
第1部分:
数据
BRFSS的背景
根据CDC网站,“行为风险因素监测系统(BRFSS)是美国首屈一指的与健康有关的电话调查系统,收集美国居民的健康相关风险行为,慢性健康状况和使用预防性服务。
BRFSS成立于1984年,拥有15个州,现在收集所有50个州,哥伦比亚特区和三个美国领土的数据。
BRFSS每年完成40多万次成人访谈,成为世界上最大的连续进行的健康调查系统。
“
方法
根据疾病预防控制中心的数据,“BRFSS是一项跨部门的电话调查,国家卫生部门每月通过固定电话和移动电话进行一次标准化问卷调查,并获得CDC的技术和方法支持。
在进行BRFSS座机电话调查时,调查员从一个随机选择的家庭成人中收集数据。
在进行BRFSS调查问卷的移动电话版本时,调查员从通过使用移动电话参与并居住在私人住宅或学院住房的成年人那里收集数据。
关于概化,因果关系和偏见的观察
虽然课程材料简要地提到了更高级的统计内容(因果推断),但考虑到作者对于因果关系的现有知识,可以做出以下陈述:
•关于泛化能力的话题:
由于调查的广度-在美国所有50个州和其他美国领土上,由CDC与各州卫生机构协调,-它似乎捕获了足够的随机样本,使其可归纳为广泛的美国人口。
•因果关系:
考虑到BRFSS是一种观察性练习-没有明确的随机分配治疗-所有指出的关系可能表明联系,但不是因果关系。
另外,考虑到BRFSS的方法,对于偏见有一些担忧:
•通过电话调查,有可能低报几种类型的个人:
◦那些无法使用固定电话或手机的人。
◦原则上不接受电话调查的人。
◦调查时没有调查的地方。
•由于面试问题的答案没有得到确认,受访者可能会以各种方式改变他们的回答:
报告不需要的行为和特征,而低报不受欢迎的行为和特征。
系统地夸大身高或收入等特征。
自从被要求将细节记忆到30天或更长时间之前,请不要忘记关键信息。
•最后,参与国家机构之间的访谈实践和问题集可能存在不一致之处。
详情请见CDC网站。
为了将来的参考,如果数据集包括关于每次采访的细节以及采集的时间,这将是有用的。
这将进一步了解那些可能或不可能参与调查的人。
第2部分:
研究问题
研究问题1:
被访者对其身体质量指数(BMI)的健康状况有何看法?
性别之间有什么区别?
这是一个很有意思的问题,因为它寻求将自己的健康状况与客观的整体健康状况联系起来。
BMI不是没有争议(例如见这里),但它被广泛认可。
性别之间的差异也很有趣,因为人们可以梳理出社会内部不同的看法和压力。
分析使用以下变量完成:
genhlth-对应于一般健康
•X_bmi5cat-将BMI分为4类的计算变量。
BMI来源于报道的身高和体重。
•性别-报告的性别
研究问题2:
作为一个年幼的孩子的父母如何影响报告的睡眠时间?
这在性别上有什么不同的报道?
这是一个很有意思的问题,可以估计作为幼儿的家长对受访者的影响。
了解这一点有助于帮助他人更好地理解父母,并可能同情父母。
了解这种影响在男性和女性之间是否明显不同也是有用的。
分析使用以下变量完成:
•sleptim1-报告每晚睡眠时间
•rcsrltn2-被访者与同一家庭随机孩子的关系
•X_impcage-将儿童年龄分为4个可能类别的推算变量。
•性别-报告的性别
研究问题3:
是否对与一年中调查时间有关的一般健康认知做出了回应?
各州之间有什么分歧?
这个问题看季节方面可能如何影响反应。
在这种情况下,感兴趣的是冬季月份对整体健康反应的潜在影响。
作为后续研究,它考虑了美国各州考虑可能存在的区域差异。
分析使用以下变量完成:
genhlth-对应于一般健康
•imonth-进行面试的月份
•X_state-受访者的居住状态
第3部分:
探索性数据分析
研究问题1:
被访者对其身体质量指数(BMI)的健康状况有何看法?
性别是否有区别?
##从数据集中选择适当的变量并省略NAs
q1<-select(brfss2013,genhlth,sex,X_bmi5cat)%>%na.omit()
dim(q1)
##[1]4632743
prop.table(table(q1$genhlth,q1$X_bmi5cat),2)
##
##UnderweightNormalweightOverweightObese
##Excellent0.199902430.260194960.173738870.07933813
##Verygood0.263934630.350698680.354012380.26824837
##Good0.261495300.246675140.306984510.37088006
##Fair0.158311990.097516400.119437590.19913468
##Poor0.116355650.044914840.045826650.08239876
在初始加载数据(超过46万个观测值)之后,我们可以初步了解反应的频率,然后考虑它们的比例。
解释上表的方法是,对于每一栏(“低体重”,“正常体重”,...),表示他们的健康状况为“优秀”,“非常好”的受访者的比例是多少,换句话说, 列总和为1。
一个更容易的图形表示可以看到下面:
g<-ggplot(q1)+aes(x=X_bmi5cat,fill=genhlth)+geom_bar(position="fill")
g<-g+xlab("BMIcategory")+ylab("Proportion")+scale_fill_discrete(name="ReportedHealth")
g
有一些有趣的趋势可以观察到:
•“优秀”健康报告的比例从低体重增加到正常体重,然后从正常体重显着下降到肥胖。
这表明有可能意识到整体健康状况。
•“优秀”减少的幅度似乎比报告“健康欠佳”的人增加了。
这可能表明缺乏对良好健康状况的认识/教育。
性别的影响呢?
g<-ggplot(q1)+aes(x=sex,fill=genhlth)+geom_bar(position="fill")+facet_grid(.~X_bmi5cat)
g<-g+xlab("BMIcategoryperGender")+ylab("Proportion")+scale_fill_discrete(name="ReportedHealth")
g
在这种情况下,我们可以观察到以下情况:
•当BMI分类为“体重不足”或“正常体重”时,女性的健康状况比男性高。
这可能意味着健康与苗条的更强关联,反映更广泛的社会意见。
•当BMI分类为“超重”或“肥胖”时,女性健康状况的比例低于男性。
这可能表明体重过度敏感是整体健康的一个组成部分。
总之,分析似乎表明,考虑到研究问题:
是的,健康知觉与BMI之间有明显的关系,以及性别差异。
但是,鉴于所进行的分析,这些关系不能用来推断因果关系。
研究问题2:
作为一个年幼的孩子的父母如何影响报告的睡眠时间?
这在性别上有什么不同的报道?
q2<-select(brfss2013,sleptim1,sex,rcsrltn2,X_impcage)
table(q2$sleptim1)
##
##0123456789
##122810763496142613343610619714246914110223800
##10111213141516171819
##1210283336751994473673693516413
##2021222324103450
##6431043511
Theinitialdataloadindicatesthattherearecodingerrorsinthedata.Thecleanupinvolvesremovingreportedsleeptimeslongerthan16hoursperday.Thiswasanarbitrarydecisionbasedonthedata.
q2_pop<-select(q2,sex,sleptim1)%>%na.omit()%>%filter(sleptim1<=16)
dim(q2_pop)
##[1]4840562
q2_parent<-na.omit(q2)%>%filter(rcsrltn2=="Parent"&sleptim1<=16)%>%
mutate(young=X_impcage%in%c("0-4Yearsold","5-9Yearsold"))
dim(q2_parent)
##[1]578575
Thisdataloadperformstwodataselectionoperations:
•First,itselectsthepropercolumnsfromtheoriginaldatasetintotheq2dataframe.
•Itthencreatestwoseparatedataframesforanalysis:
◦q2_pop:
forthebroaderpopulation,omittingmiscodedvalues.
◦q2_parent:
leveragestheRandomChildSelectionsetofquestionsfromtheBRFSSandselectsthosethatidentifiedthemselvesas“Parents”.Furthermore,itaddsacolumnforidentifyingchildrenlessthan10yearsold.
Itisimportanttonotethatwhilethebroadpopulationisapproxi