当前位置: 首页 > news >正文

泊头市网站制作公司适合发表个人文章的平台

泊头市网站制作公司,适合发表个人文章的平台,ppt在线预览wordpress,企业邮箱怎么使用美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。 地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx 在既往的…

美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。
地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx
在这里插入图片描述
在既往的文章《Nhanes临床数据库挖掘教程2—基线表绘制(table1)》中,咱们已经介绍了tableone包绘制NHANES数据的基线表,今天咱们来介绍一下如何手动绘制NHANES数据的基线表,手动的好处就是一来可以加深你对操作的理解,二是比较灵活,tableone包输出的格式比较固定,例如你想把人数改成不加权的就需要手工计算,而且可以通过两种方法相互印证。
咱们继续使用文章《Nhanes临床数据库挖掘教程2—基线表绘制(table1)》中的数据为例子,先导入R包和数据

library(survey)
bc<-read.csv("E:/nhanes/nhanes.csv",sep=',',header=TRUE)

在这里插入图片描述
我介绍一下数据,SEQN:序列号,RIAGENDR, # 性别, RIDAGEYR, # 年龄,RIDRETH1, # 种族,DMDMARTL, # 婚姻状况,WTINT2YR,WTMEC2YR, # 权重,SDMVPSU, # psu,SDMVSTRA,# strata,LBDGLUSI, #血糖mmol表示,LBDINSI, #胰岛素( pmmol/L),PHAFSTHR #餐后血糖,LBXGH #糖化血红蛋白,SPXNFEV1, #FEV1:第一秒用力呼气量,SPXNFVC #FVC:用力肺活量,ml(估计肺容量),LBDGLTSI #餐后2小时血糖。
为了做出来后有对比,我按文章《Nhanes临床数据库挖掘教程2—基线表绘制(table1)》中对糖尿病进行了一个分段处理,OCTT小于7.8算是正常患者,7.8—11是糖尿病前期,大于11为糖尿病。

bc$oGTT2<-ifelse(bc$LBDGLTSI<7.8,1,ifelse(bc$LBDGLTSI>=11,3,2))

上面代码的意思是把小于7.8的分类为1,大于11的分类为3,其余分类为2

在这里插入图片描述
因为tableone包可以自动把分类变量转成因子,我们这里手动制作的话需要自己把分类变量转成因子

bc[,c("RIAGENDR", "RIDRETH1","DMDMARTL")] <- lapply(bc[,c("RIAGENDR", "RIDRETH1","DMDMARTL")], factor)

转成因子后,下面开始建立抽样调查函数svydesign,ids表示集群的意思,这里填入抽样单元SDMVPSU(PSU),如果没有的话填入1,strata = ~ SDMVSTRA,strata这里是分层的意思,这里填入SDMVSTRA,weights是权重的意思,参照别的大佬的意思,如WTINT2YR,WTMEC2YR,这两个权重就填入WTMEC2YR,data填入你的数据就可以了

bcSvy2<- svydesign(ids = ~ SDMVPSU, strata = ~ SDMVSTRA, weights = ~ WTMEC2YR,nest = TRUE, data = bc)

生成调查函数bcSvy2后咱们就可以进行计算了,这里我们生成一个按照oGTT2分类的基线表,就是不同血糖程度的基线值水平。
主要是使用survey包自带的函数来进行计算,计算连续的和分类的要分开计算,
咱们先来计算连续的主要是使用svyby这个函数来搭配计算,假设咱们想了解不同oGTT2的年龄分布基线

svyby(~RIDAGEYR, ~oGTT2, bcSvy2, svymean)

在这里插入图片描述
这样结果就出来了,可以看到和tableone包算出来的一模一样。(下图是tableone包算出来的)
在这里插入图片描述
如果想求可信区间,

svyby(~RIDAGEYR, ~ oGTT2, bcSvy2, svymean , vartype="ci")

在这里插入图片描述
如果咱们想按分位数来求

svyby(~RIDAGEYR, ~oGTT2, bcSvy2, svyquantile, quantiles=0.5,ci=TRUE,vartype="ci")

在这里插入图片描述
如果想求每组为未加权加权的人数

svyby(~RIDAGEYR, ~oGTT2, bcSvy2, unwtd.count, keep.var=FALSE)

在这里插入图片描述

接下来咱们看一下分类变量怎么计算,分类变量主要是使用svytable函数来计算,咱们这里以种族(RIDRETH1)为例子
svyby(~RIDRETH1, ~oGTT2, bcSvy2, svytotal,covmat=TRUE)

在这里插入图片描述
这里算出来的也和tableone包一模一样, 这样连续和分类变量的都算出来啦。间接印证了咱们使用tableone包计算是正确的,新手还是使用tableone包来计算容易点。

最后聊下近期,近期一直在写一键生成NHANSE数据亚组交互效应表的函数(P for interaction),但是出现一个小问题卡住了,就是就是在函数内部生成svyglm模型的时候,我们需要使用anova函数获取模型的P for interaction的值,但是这个时候R会提示design函数找不到,如下图所示。

在这里插入图片描述

这个问题卡了我好几天,实在没办法后面我写了封邮件问survey包的作者thomas教授这个问题怎么解决。thomas教授说这个survey包目前没法解决,他需要从新写anova.svyglm函数,有可能在新版本解决这个问题,但thomas教授给了我解决这个问题的方案。
为什么我要说这个东西,因为这个东西既然目前survey包目前没法解决,那么很多基于survey包anova.svyglm函数来实现算法的函数和R包就是错的。因为design函数只能在全局环境找到,在其他环境找不到。
这里我要提一下jstable包,很多粉丝和我提到了这个包,而且我看见有些博主也推荐了这个包,这个包在分析复查加权数据时就是用了anova.svyglm函数,因此你的数据一旦是多项交互它就会报错。而且这个包的逻辑和咱们平时就算交互效应的时候还是不一样的,咱们平时计算交互效应通常是:y=a+b+a*b
而jstable包的计算逻辑是y= a*b。这样计算出来的东西就完全不一样了。自己做的时候根据需求吧。

http://www.qdjiajiao.com/news/9160.html

相关文章:

  • 清远市住房和城乡建设管理局门户网站无锡优化网站排名
  • 做解析会员电影的网站长沙官网seo
  • 自己怎么做视频收费网站宁波seo外包平台
  • dw网站首页的导航怎么做网盘资源共享网站
  • 国内空间设计公司百度seo推广计划类型包括
  • 政府门户网站建设的问题与对策免费的网站推广方法
  • 张家港做网站收费标准2022最新引流推广平台
  • 做网站利用自己电脑昆明百度推广开户
  • 舞蹈培训机构网站模板五年级下册数学优化设计答案
  • 青岛建网站需要花多少钱百度关键词优化策略
  • flash网站导航怎么做本周热点新闻事件
  • 龙岗 网站建设哪优化seo教程
  • 专业的河南网站建设公司seo 优化是什么
  • 免费招聘网站建设2345浏览器官网
  • 做本机网站足球排行榜前十名
  • 网站建设的过程包括几个阶段青岛seo排名收费
  • net网站开发手机网站免费网络营销平台
  • 电商网站前端页面响应式设计成都seo顾问
  • 东莞企业网站建设设计合肥网站制作推广
  • 做服装加工哪个网站比较好有域名了怎么建立网站
  • 做平台网站怎么做的seo分析是什么意思
  • 什么二手车网站做最好整合网络营销公司
  • 电子商务网站建设试题及答案宝鸡百度seo
  • 免费书画网站怎么做的北京网站制作推广
  • 哪里有做网站企业自建站怎么推广
  • 第一模板网站网站快速收录工具
  • 网站改版 升级的目的是什么意思人工智能培训一般多少钱
  • 怎样在门户网站做 推广baike seotl
  • wordpress虚拟储存seo内容优化方法
  • 开一家做网站公司成本百度seo排名主要看啥