美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。
地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx

既往我们已经介绍过Nhanes临床数据库基线表的绘制,不少粉丝后台问非正态分布的数据怎么绘制基线表。今天来演示一下,继续使用文章《Nhanes临床数据库挖掘教程2—基线表绘制(table1)》中的数据,我们先导入数据

library(tableone)
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小时血糖。
按照论文:Non-linear association between diabetes mellitus and pulmonary function: a population-based study的介绍

它的基线表是分为正常患者、糖尿病前期,糖尿病3个类型,

但是文中没有给出是怎么分类判断的,我就按照OGTT来随便分一下

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

下面开始建立抽样调查函数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)

接下来就是绘制基线表,使用的是svyCreateTableOne函数,先要定义全部变量和分类变量

dput(names(bc))##输出变量名
allVars <-c("RIAGENDR", "RIDAGEYR", "RIDRETH1", "DMDMARTL", "LBDGLUSI", "LBDINSI", "PHAFSTHR", "LBXGH", "SPXNFEV1", "SPXNFVC", "LBDGLTSI", "oGTT2")###所有变量名
fvars<-c("RIAGENDR", "RIDRETH1","DMDMARTL")#分类变量定义为fvars

绘制表格,我们是使用正常患者、糖尿病前期、糖尿病来分成比较的,所以strata填入oGTT2

Svytab2<- svyCreateTableOne(vars = allVars,strata = "oGTT2",data =bcSvy2 ,factorVars = fvars)
Svytab2


假设"SPXNFEV1", "SPXNFVC"这两个变量为非正态分布的变量,我们先给它定义一下

bb<- c("SPXNFEV1","SPXNFVC")

变为非正态分布很容易,就是一句代码

tab3<-print(Svytab2, factorVars=fvars,nonnormal=bb)


如果设置quote = T,则会给变量加上双引号,这样可以轻易复制到excel(作者的原话)

tab3<-print(Svytab2,factorVars=fvars, nonnormal=bb, quote = T)


如果设置showAllLevels = T将会显示所有分类级别

tab3<-print(Svytab2,factorVars=fvars, nonnormal=bb, quote = F,showAllLevels = T)


加上smd = T可以显示smd

tab3<-print(Svytab2, factorVars=fvars,nonnormal=bb, quote = F,showAllLevels = T,smd = T)


加上missing = T,可以显示缺失信息

tab3<-print(Svytab2,factorVars=fvars, nonnormal=bb, quote = F,showAllLevels = T,smd = T,missing = T)


好了本期介绍到这里,如果想进一步了解参数,可以使用

?print.svyCatTable

Nhanes临床数据库挖掘教程2—非正态数据的基线表绘制(2)相关推荐

  1. 分析遇到非正态数据该怎么办?

    总第194篇/张俊红 我们在前面讲过数据的正态性检验:正态性检验,介绍了检验数据是否正态的两种方法.这一节我们来看一下,如果数据不满足正态时该怎么办,答案就是将非正态数据通过Box-Cox变换进一步转 ...

  2. 数据分析方法:非正态数据转化成正态数据

    数据分析方法:非正态数据转化成正态数据 大部分的数据分析都希望原始数据是满足正态分布的定距变量.然而,显示是残酷的,在各种研究中,常常需要面对非正态分布的定距数据.为了解决数据的正态性问题,数学家们总 ...

  3. 过程能力分析02—Box-Cox变换:非正态数据能力分析的处理办法

    在上一文章<过程能力分析01-不要忽略"稳定">中,我们强调了做过程能力分析之前需要稳定的过程,在本篇文章中我们来讨论另外一个前提-数据正态.其中我们在之前的文章中对正 ...

  4. nhanes数据库挖掘教程3--对数据进行多重插补

    美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营 ...

  5. 石正喜MySQL数据库使用教程_《21世纪高职高专系列规划教材:MySQL数据库实用教程》【摘要 书评 在线阅读】-苏宁易购图书...

    商品参数 作者: 石正喜编 出版社:北京师范大学出版社 出版时间:2014-01-01 00:00:00 版次:1 印次:1 印刷时间:2014-01-01 字数:400000 页数:298 开本:1 ...

  6. Oracle 11g 数据库基础教程

    Oracle 11g 数据库基础教程 课堂笔记 系统服务 操作系统通过服务来管理安装好的Oracle 11g数据库产品的运行 在运行Oracle数据库前,要检查数据库服务有没有启动好 开始»控制面板» ...

  7. 利用临床数据库就能发SCI?看完这篇!直呼做临床数据分析超简单

    Meta分析.临床数据分析一对一指导,符合学术规范,结课直接投稿,+tjzgBL哟! 前年副高考试通过后,我已经连续申请了两年的职称评审,第一年因为论文未达要求,宣告失败:第二年痛定思痛,决定花时间好 ...

  8. mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)

    前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...

  9. Delphi XE 10 跨平台三层数据库应用教程

    Delphi XE 10 跨平台三层数据库应用教程 Delphi XE 开始越来越庞大,比经典的Delphi7难用,但依然是目前所有跨平台开发工具中开发效率最高.最容易上手的,其快速设计RAD理念是无 ...

最新文章

  1. git设置单个仓库用户名以及密码
  2. 为什么对 Java 性能调优最后都像在调 you?
  3. 年薪超 1400 万美元!苹果 CEO 库克去年薪酬大曝光!
  4. .net中用css控制GridView样式
  5. boost::intrusive::avltree_algorithms用法的测试程序
  6. spring boot (3.自动配置@enableautoconfiguration)
  7. vim编辑器快捷操作
  8. java 注解scheduler_使用spring的@Scheduled注解执行定时任务,启动项目不输出警告
  9. 如何对java分装,Angular4 JSONP + JAVA代码
  10. windows vs编译环境 python_Python虚拟环境使用(Windows)
  11. 谷歌 AI 专家爆料:90% 的人都不知道,编程能力差,其实都是输在了这点上!...
  12. oracle 同步索引,oracle全文索引之同步和优化索引做了什么
  13. retinanet 部署_目标检测RetinaNet_飞桨-源于产业实践的开源深度学习平台
  14. python 实现复制文件夹以及文件夹下的子文件
  15. Postman中文版 !!!!傻瓜教程
  16. jquery+Bootstrap作品实现教程
  17. CSS中backdrop-filter与fliter属性
  18. iOS开发之高仿斗鱼tv初探
  19. [心得]写文章不是求评论,而是自我总结提高
  20. Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)切题报告(A-B题)

热门文章

  1. mysql 16g 内存服务器_服务器物理内存16G mysql数据库my.cnf配置及参数说明
  2. 星巴克其实是一家数据科技公司!?
  3. kolla ansible各组件作用
  4. 在雨课堂上如何打印不凌乱的课件???
  5. 总线锁,缓存锁,emsi
  6. 四、架构师-高并发与多线程-volatile关键字
  7. 《思考,快与慢》-结合消费者市场的分析|倪钰桐谈商业
  8. python从多层循环嵌套中退出只能使用goto_goto语句只能用于退出多层循环.doc
  9. SOLIDWORKS技巧培训-绘制零件滚花的两种方法
  10. 【C++】char、int、short、指针占几个字节