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

news2024/11/18 8:47:16

美国国家健康与营养调查( 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VUE + .NET CORE (.net6)基于asp.net 智能仓储快递物流系统源码

一、源码描述 这是一款简洁十分美观的ASP.NETsqlserver源码&#xff0c;前端vue,框架.netcore,mvc三层架构界面十分美观&#xff0c;功能也比较全面 二、功能介绍 该源码功能十分的全面&#xff0c;具体介绍如下&#xff1a; 用户待取包裹信息可以由快递网点员直接在选择用户…

学习记录 2023/02/01

一、学习内容&#xff1a; 1、OSEK网络管理规范基础&#xff08;CAN_NM报文格式、节点跳过判断机制、网络管理策&#xff09;; 2、UDS诊断服务回顾&#xff08;功能寻址与PHY&#xff0c;CAN升级工具的使用&#xff09;&#xff1b; 二、回顾提升 1、CAN程序升级工具使用(适用…

Linux内核panic核心执行逻辑

什么是OOPSOops是美国人比较常有的口语。就是有点意外&#xff0c;吃惊&#xff0c;或突然的意思。“oops”并不是很严重.对于linux内核来说&#xff0c;Oops就意外着内核出了异常&#xff0c;此时会将产生异常时出错原因&#xff0c;CPU的状态&#xff0c;出错的指令地址、数据…

实训六:启动过程和运行级别

实训六&#xff1a;启动过程和运行级别 2017 年 4 月 16 日 今日公布 实训目标 完成本次实训&#xff0c;将能够&#xff1a; 运用Shell命令管理进程。 在图形界面下管理进程。 配置cron调度。 实训准备 一台安装RHEL6系统的计算机&#xff0c;该系统除了root账户外&…

一文读懂:下一代微服务技术Service Mesh

相信提到微服务大家一定不会陌生&#xff0c;但是说起服务网格&#xff0c;即Service Mesh&#xff0c;很多同学可能就会画大大的问号了&#xff01;话不多说先给结论&#xff1a;我们可以简单的把Service Mesh理解为网络代理&#xff0c;它可以解决传统微服务中的痛点&#xf…

进程状态与优先级

目录 进程状态&#xff1a; tracing stop&#xff1a;追踪暂停状态 Z&#xff1a;僵尸状态&#xff1a; 为什么要有僵尸进程呢&#xff1f; 孤儿进程 进程优先级&#xff1a; 其他概念&#xff1a; 进程切换&#xff1a; pc/eip 环境变量&#xff1a; PATH&#xff1a;全…

nestjs初始化项目

安装nestjs脚手架 npm i -g nestjs/cli初始化项目 nest new <project-name>说明初始化项目成功 结构说明 node_modules:项目所有的依赖src: 项目的主题test: 项目测试目录.eslintrc.js: eslint约束.gitignore: git上传忽略文件nest-cli.json: nest项目配置文件package…

《C++程序设计原理与实践》笔记 第12章 一个显示模型

本章介绍了一个显示模型(display model)&#xff08;GUI的输出部分&#xff09;&#xff0c;并给出了使用示例和基本概念&#xff0c;例如屏幕坐标、线和颜色等。 12.1 为什么需要图形&#xff1f; 我们为什么用四章的篇幅介绍图形以及一章介绍GUI&#xff1f; 图形很有用。…

通信原理笔记—基带信号的波形设计与编码

目录 引言&#xff1a; 基带传输系统的基本模型&#xff1a; 基带信号的波形设计与编码&#xff1a; 数字信号的波形设计原则&#xff1a; 基带信号的基本波形&#xff1a; 常用的二进制码型&#xff1a; 单极性不归零码&#xff1a; 双极性不归零码&#xff1a; ​编辑…

RTI Connext DDS代码生成器

0 简介RTI代码生成器Code Generator,创建用RTI ConnextDDS定义define和注册register用户数据类型所需的代码。在以下情况下&#xff0c;使用代码生成器是可选的&#xff1a;您正在使用动态类型&#xff08;请参阅RTI Connext DDS核心库用户手册[RTI ConnextDDS Core Libraries …

新来一个卷王,天天加班到12点,太让人崩溃......

在程序员职场上&#xff0c;什么样的人最让人反感呢&#xff1f; 是技术不好的人吗&#xff1f;并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗&#xff1f;也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反…

2023全网汇总PMP备考攻略(附答题技巧资料)

一&#xff0c;多复习和学习新版考纲 01《PMBOK》看三遍 这边建议看三遍《PMBOK》&#xff0c;更有利于我们巩固知识&#xff0c;查缺补漏。 第一遍 第一遍是老师带着我们去看。这个时候一定要非常专心&#xff0c;千万不要上课走神或者玩手机。因为这一遍老师会告诉我们&a…

结构型设计模式 Structural Patterns :适配器 Adapter(C++ 实现)

文章大纲 适配器简介对象适配器类适配器C++ 实现代码参考文献与学习路径Structural PatternsAdapterMatch interfaces of different classesBridgeSeparates an object’s interface from its implementationCompositeA tree structure of simple and composite objectsDecorat…

C#中的那些警告如何去除?完全去除C#警告

一般在c中没有使用的变量会有警告&#xff0c;C#中也有&#xff0c;在QT中我们利用Q_UNSED可以直接消除这些警告&#xff0c;那么我们在C#中该如何做才能消除这些不必要的警告呢&#xff1f;经过查询微软官方网站发现&#xff0c;有的找到了解决方法&#xff0c;有的仍然一筹莫…

学习bootstrap怎么样?

想必学习前端的都知道这个响应式框架&#xff0c;之前我接触这个框架的时候是在学习前段页面设计的进阶教程是接触的&#xff0c;那个时候要做那种登陆注册界面&#xff0c;里面的输入框很让人头疼有时候电脑的宽度不一样或者是写了一个精美的网页然后放到手机上的时候就变了模…

【C++】继承(基类和派生类的关系、菱形虚拟继承、继承和组合)

文章目录1、继承的概念和定义2、基类和派生类的赋值转换3、继承中的作用域4、派生类的默认成员函数5、继承与友元和静态成员6、复杂的菱形继承及菱形虚拟继承7、继承和组合1、继承的概念和定义 继承是面向对象程序设计上程序复用的重要手段&#xff0c;以往接触的复用都是函数复…

程序员的自律之路

世界的精彩不是单纯的美丽&#xff0c;毕竟丑恶也是美丽的食粮&#xff0c;黑暗也是光明的救世主 很久没有写博客了&#xff0c;最近半年不太稳定&#xff0c;也经历了一些自我成长的东西。 事后我进行深度反省&#xff0c;思考一个人或者说是一个程序员的失控原因到底是什么&a…

推荐几款好用的企业级文档管理软件

知识库&#xff0c;又称为智能数据库或人工智能数据库。知识库的概念来自两个不同的领域&#xff0c;一个是人工智能及其分支-知识工程领域&#xff0c;另一个是传统的数据库领域。由人工智能&#xff08;AI&#xff09;和数据库&#xff08;DB&#xff09;两项计算机技术的有机…

Java字符串查找(3种方法)

在给定的字符串中查找字符或字符串是比较常见的操作。字符串查找分为两种形式&#xff1a;一种是在字符串中获取匹配字符&#xff08;串&#xff09;的索引值&#xff0c;另一种是在字符串中获取指定索引位置的字符。根据字符查找String 类的 indexOf() 方法和 lastlndexOf() 方…

金融公司在 2022 年扩大了对下一代技术的投资

根据 Broadridge Financial Solutions, Inc. 的一份新报告&#xff0c;大多数金融服务公司现在认为数字化转型对其业务至关重要&#xff0c;并且已经在寻求下一波技术来帮助取得成功。 在对 500 名最高管理层高管及其在全球买方和卖方的直接下属进行的 2023 年数字化转型和下…