descrTable常用方法

news2024/9/21 23:59:39

descrTable 为 R 包 compareGroups 的重要函数,有关该函数以及 compareGroups 包的详细内容见:R包compareGroups详细用法

加载包和数据

library(compareGroups)

# 加载 REGICOR 数据(横断面,从不同年份纳入,每个变量有个label)
data(regicor)

# 保留部分变量
regicor <- regicor[,c('id','age','sex','smoker','height','weight')]

1. formula、data、show.all、digits、show.p.overall、show.p.trend、show.n、digits.p、all.last

  1. formula: 一个 “公式” 类的对象(或可以转换为该类的对象)。~ 的右侧必须以加减法方式纳入包含项,或为.纳入所有变量。左侧必须包含分组变量的名称,或者可以留空(在这种情况下,将为整个样本提供描述性统计数据,并且不进行测试)。

  2. data: 一个可选的数据框、列表或环境(或可通过 as.data.frame 强制转换为数据框的对象),包含模型中的变量。如果在 data 中找不到变量,则这些变量会从 environment(formula) 中获取。

  3. show.all: 逻辑值,指示是否显示 ‘[ALL]’ 列(未按组分层的所有数据)。如果定义了分组变量,则默认值为 FALSE;如果没有组,则为 FALSE。

  4. digits: 一个整数向量,其组件数量与变量相同。设置每个变量的保留小数位数。如果其长度为 1,则对所有变量进行设置。每个组件指定要显示的有效小数位数。或者是一个命名向量,指定 ‘digits’ 应用于哪些变量(一个保留名称是 ‘.else’,定义其余变量的 ‘digits’);如果没有定义 ‘.else’ 变量,则对其余变量应用默认值。默认值为 NA,表示使用"适当"的小数位数(详细信息请参见说明文档)。

  5. show.p.overall: 逻辑值,指示是否显示整体组显著性(‘p.overall’ 列)的 p 值。默认值为 TRUE。

  6. show.p.trend: 逻辑值,指示是否显示 p-trend。如果组少于 3,则始终为 FALSE。如果缺少此参数且组数超过 2 且分组变量为有序因子,则显示 p-trend。默认情况下,p-trend 不显示;当组数超过 2 且分组变量为有序因子类时显示。

  7. show.n: 逻辑值,指示是否在 ‘descr’ 表中显示每个变量分析的个体数量。默认值为 FALSE,当没有组时为 TRUE。

  8. digits.p: 整数,指示所有 p 值显示的小数位数。默认值为 3。

  9. all.last: 逻辑值。整个样本的描述性统计放在按组描述性统计之后。默认值为 FALSE,表示整体队列的描述性统计放在第一位。

descrTable( smoker ~ . -id, 
            data = regicor, 
            show.all = TRUE, 
            digits = c(2,2,3,4),  # 为不同变量设置保留位数
            show.p.trend = TRUE,
            show.p.overall = TRUE,
            show.n = TRUE,
            digits.p = 4
            )

在这里插入图片描述

descrTable( smoker ~ . -id, 
            data = regicor, 
            show.all = TRUE, 
            all.last = TRUE  # 最后一列显示 ALL
            )

在这里插入图片描述

2. subset、select

  1. selec: 一个包含与列变量相同数量组件的列表。如果列表长度为 1,则它会为所有变量重复。selec 的每个组件是一个表达式,该表达式将被评估以选择每个变量分析的个体。否则,将应用一个指定了变量的命名列表。.else 是一个保留名称,用于定义其他变量的选择。如果没有定义 .else 变量,则对其他变量应用默认值。默认值为 NA,即分析所有个体(不进行子集化)
descrTable( smoker ~ . - id,
            show.all = TRUE,
            show.n = TRUE,
            data = regicor,
            selec = list(sex = sex == "Male",   # 只分析男性
                         height = weight >70)   # 只分析体重大于 70 人的身高
            )
# 可以看到 age、weight 的 N 还是不变,为 2233,2209
# sex 只分析了男性,身高只分析体重大于 70 人的

在这里插入图片描述

  1. subset: 可选的向量,指定用于计算过程的个体子集。它会应用于所有变量。subsetselec 在每个变量中以 & 的形式添加。
descrTable( smoker ~ . - id, 
            show.all = TRUE,
            show.n = TRUE,
            data = regicor,
            subset = (sex == "Male" & weight > 70))   # 只分析同时满足的个体的,N只剩837

在这里插入图片描述

3. na.action

na.action: 一个函数,指示当数据包含 NA 时应该发生什么。默认值为 NULL,相当于 na.pass,即不采取任何行动。na.exclude 可以在希望移除所有在任何变量中有 NA 的个体时很有用。

descrTable( smoker ~ . - id, 
            show.all = TRUE,
            show.n = TRUE,
            data = regicor,
            na.action = na.exclude)

在这里插入图片描述

4. method

method: 整数向量,包含与变量数量相同的组件。仅适用于连续变量(对于因子变量则被忽略)。默认值为1,可能的值为:
1- 强制分析为 “正态分布”;
2- 强制分析为 “连续非正态”;
3- 强制分析为 “分类”;
4- NA,进行 Shapiro-Wilks 正态性检验以决定正态或非正态。

descrTable( smoker ~ . - id, 
            show.all = TRUE,
            show.n = TRUE,
            data = regicor,
            method = c(height = 2, weight =2))

在这里插入图片描述

descrTable( smoker ~ . - id, 
            show.all = TRUE,
            show.n = TRUE,
            data = regicor,
            method = c(1,2,2,1))

在这里插入图片描述

5. hide

hide: 一个向量(或列表),包含与变量数量相同的整数或字符, 隐藏分类变量的第几类别。如果其长度为 1,则对所有变量进行回收。每个组件指定必须隐藏且不显示的类别(如果是字符,则为类别的文字名称;如果是整数,则为位置)。此参数仅适用于分类变量,对于连续变量将被忽略。如果为 NA,则显示所有类别。或者是一个命名向量(或命名列表),指定应用于哪些变量的 ‘hide’,其余变量应用默认值。默认值为 NA。

descrTable( smoker ~ . - id, 
            show.all = TRUE,
            show.n = TRUE,
            data = regicor,
            hide = 2)   # 隐藏第二类别

在这里插入图片描述

6. sd.type、q.type、extra.labels

  1. sd.type: 一个整数,指示标准偏差的显示方式:1 - mean(SD),2 - mean ± SD。

  2. q.type: 一个包含两个整数的向量。第一个组件指非正态变量显示的括号类型(1 - 方形,2 - 圆形),第二个组件指百分位数分隔符(1 - ‘;’,2 - ‘,’,3 - ‘-’)。默认值为 c(1, 1)。

  3. extra.labels: 字符向量,包含 4 个组件,对应于附加到正常、非正态、分类或生存变量标签的关键标签。默认值为 NA,不附加任何额外关键字。如果设置为 c(“”,“”,“”,“”),则附加"Mean (SD)"、“Median [25th; 75th]”、“N (%)” 和 “Incidence at time=timemax”(请参阅 compareGroups 函数中的 timemax 参数)。

descrTable( smoker ~ . - id, 
            show.all = TRUE,
            show.n = TRUE,
            data = regicor,
            sd.type = 2,    # 更改描述 sd 的方式
            q.type = c(2,2),     # 更改描述 quantile 的方式
            extra.labels = c("","","",""))

在这里插入图片描述

7. 修改变量的 label

修改变量的 label 以在表格中直接显示

attr(regicor$tcv,"label")<-"Cardiovascular"

8. 修改源代码,提升客制化能力

在R脚本中输入createTable(), 然后鼠标对着函数名,按下 ctrl和鼠标左键,可以看到这个函数的源代码。但可以发现源代码为只读模式,因为在安装R包时,R源代码就被编译为了二进制文件以提升代码运行速度。因此通常可以通过下载源代码并修改后重新编译安装或者新建同名函数覆盖

1、下载源代码修改后编译安装
# 下载 compareGroups 包的源代码
download.packages("compareGroups", destdir = ".", type = "source")

# 解压源代码
# tar -xzf compareGroups_x.x.x.tar.gz

# 修改源代码
# 找到原函数并修改

# 重新安装
# 进入解压后的包目录
setwd("compareGroups")

# 编译并安装修改后的包
system("R CMD build .")
install.packages("compareGroups_x.x.x.tar.gz", repos = NULL, type = "source")

github上createTable()函数在如图文件中
在这里插入图片描述

2、创建同名 function 覆盖源代码
# 获取 creaTable 函数的源代码
getAnywhere(createTable)
# 或
edit(compareGroups::createTable)

# 将函数源代码复制出来
createTable <- function(...) {
  # 这里是函数的原始源代码
  # 修改你需要更改的部分
}

9. 修改结果tab

修改源代码可以一劳永逸,但如果不会也可以用代码修改结果

tab$descr <- apply(tab$descr, c(1, 2), function(x) gsub("±", "+-", x))    
tab$descr <- apply(tab$descr, c(1, 2), function(x) gsub("\\[", "(", x))

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

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

相关文章

深入理解前端拖拽:从基础实现到事件冒泡与委托的应用【面试真题】

在前端开发中&#xff0c;拖拽功能是一项常见的交互需求。通过监听鼠标或触摸事件&#xff0c;用户可以拖动元素并将其放置到指定位置。理解拖拽的底层实现、如何判断拖拽的是子元素还是父元素&#xff0c;以及事件冒泡和事件委托的原理&#xff0c;可以帮助我们更好地实现复杂…

stm32 FLASH闪存(读写内部FLASH读取芯片ID)

理论 1.FLASH简介 STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分&#xff0c;通过闪存存储器接口&#xff08;外设&#xff09;(FLASH管理员)可以对程序存储器和选项字节进行擦除和编程 读写FLASH的用途&#xff1a; 利用程序存储器的剩余空间来保存掉电不…

C++—vector的常见接口与用法(正式进入STL)

目录 0.提醒 1.介绍 2.构造 1.正常构造 2.默认值构造 3.调用默认构造函数构造 3.遍历 1.迭代器 2.范围for 3.下标访问 4.容量 1.capacity&#xff1a;返回当前容器的容量 2.reserve&#xff1a;如果传的k比当前容量大&#xff0c;则扩容到比k大或者等于k的数&…

为人机交互保持预见性丨基于G32A1445的T-BOX应用方案

T-BOX是一种集成了通信、计算和控制功能的车载信息处理终端&#xff0c;通过车辆与云端、移动网络等进行数据交互&#xff0c;用于车、人、外部环境的互联互通&#xff0c;支持车辆定位、车载通信、远程控制、故障诊断、数据传输、紧急呼叫等功能&#xff0c;帮助车辆实现更加智…

2023北华大学程序设计新生赛部分题解

时光如流水般逝去&#xff0c;我已在校园中奋战大二&#xff01;(≧▽≦) 今天&#xff0c;静静回顾去年的新生赛&#xff0c;心中涌起无尽感慨&#xff0c;仿佛那段青春岁月如烟花般绚烂。✧&#xff61;(≧▽≦)&#xff61;✧ 青春就像一场燃烧的盛宴&#xff0c;激情澎湃&…

什么情况下会导致索引失效?

什么情况下会导致索引失效&#xff1f; 1. 组合索引非最左前缀2. LIKE查询%开头3. 字符串未加引号4. 不等比较5. 索引列运算6. OR连接查询 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1. 组合索引非最左前缀 描述&#xff1a;在组合索引…

基于springboot的驾校管理系统的设计与实现 (含源码+sql+视频导入教程)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的驾校管理系统4拥有三种角色&#xff0c;分别为管理员、教练、学员。 管理员&#xff1a;学员/教练管理、报名管理、车辆管理、教练分配管理、课程安排管理、考勤打卡管理…

【HTTP】构造HTTP请求和状态码

状态码 用于响应中&#xff0c;表示响应的结果如何 正确&#xff1f;错误&#xff1f;什么原因&#xff1f; HTTP 中的状态码都是标准约定好的 200 OK 成功了&#xff0c;一切顺利 在抓包到的响应中 404 Not Found 访问的资源&#xff08;URL 中的路径&#xff09;没找…

想要让ai做ppt?试试这四个!

今天咱们来聊点新鲜的&#xff0c;就是那些能让我们从繁琐的PPT制作中解脱出来的智能工具。你是否还在为制作PPT熬夜到天亮&#xff1f;别担心&#xff0c;我这就带你看看目前市面上最火的几款智能PPT生成工具&#xff0c;它们的表现如何呢&#xff1f;让我们一探究竟&#xff…

BUUCTF逆向wp [WUSTCTF2020]Cr0ssfun

第一步 查壳&#xff0c;本题是64位&#xff0c;无壳。 第二步 查看主函数&#xff0c;点开看主函数&#xff0c;没什么东西。 左边表里面看到好几个i开头的函数&#xff08;红色方框里面&#xff09;&#xff0c;点开看后每个函数的最后末尾&#xff08;图中红色椭圆圈那里&a…

MyBatis-config.xml核心配置

MyBatis-config.xml 包含了会深深影响MyBatis行为的设置和属性信息&#xff0c;配置文档的顶层结构如下 environments&#xff08;环境配置&#xff09; environments用于配置数据库的URL信息&#xff0c;MyBatis-config可以动态配置多个数据源&#xff0c;用于连生产、预发、…

(done) 声音信号处理基础知识(4)

来源&#xff1a;https://www.youtube.com/watch?vdaB9naGBVv4 模拟信号特点如下 时域连续(x轴) 振幅连续(y轴) 如下是模拟信号的一个例子&#xff1a; 数字信号特点如下&#xff1a; 一个离散值序列 数据点的值域是一系列有限的值 ADC&#xff1a;模拟信号到数字信号的…

媒体动态:播客增长的重大转变、社交媒体创新和搜索动态

关键亮点&#xff1a; 关键亮点&#xff1a; 电视和音频&#xff1a;播客继续迅速增长&#xff0c;但主要由少数几档节目驱动。付费社交&#xff1a;Meta在最新的一次成功财报电话会议后继续加倍推进AI进展&#xff0c;X起诉GARM和广告商反垄断&#xff0c;Snap的订阅计划继续…

6.网络加密与密钥管理

“网络加密与密钥管理”主要介绍了网络加密与密钥管理的各个方面,包括网络加密的四种模式、密钥管理的基本概念、密钥的生成与分配方法、密钥的保护、存储与备份、层次化密钥管理方法以及密钥管理系统的组成。 四种网络加密模式的原理、特点:链路加密:对网络中两个相邻节点…

OpenGL渲染管线(Rendering Pipeline)介绍

渲染管线 计算机图形学中&#xff0c;计算机图形管线&#xff08;渲染管线 或简称 图形管线、流水线&#xff09;是一个概念模型&#xff0c;它描述了t图像系统将 3D场景渲染到2D屏幕所需执行的一系列步骤。渲染管线大的可以分为三个阶段。 &#xff08;一&#xff09;应用阶段…

基于SpringBoot+Vue+MySQL的手机销售管理系统

系统展示 用户前台界面 管理员后台界面 商家后台界面 系统背景 随着智能手机的普及和市场竞争的日益激烈&#xff0c;手机销售行业面临着前所未有的挑战与机遇。传统的手工记录和简单的电子表格管理方式已难以满足现代手机销售业务的需求&#xff0c;销售数据的混乱和管理效率低…

小程序地图展示poi帖子点击可跳转

小程序地图展示poi帖子点击可跳转 是类似于小红书地图功能的需求 缺点 一个帖子只能有一个点击事件&#xff0c;不适合太复杂的功能&#xff0c;因为一个markers只有一个回调回调中只有markerId可以使用。 需求介绍 页面有地图入口&#xff0c;点开可打开地图界面地图上展…

ftrace - 几种tracer的打印例子

ftrace - Function Tracer — The Linux Kernel documentation【原创】Ftrace使用及实现机制 - 沐多 - 博客园 (cnblogs.com) latency format nop tracer和function tracer下&#xff0c;latency format的时间戳是相对开始trace的时间&#xff0c;non-latency format的时间戳是…

面向对象例题之例题的特性

答案&#xff1a;C 解析&#xff1a;对象里面的方法和属性数量是不确定的&#xff0c;可以不断扩展写多个属性和方法 清洗的边界是对象必备的&#xff0c;哪些是这个类的&#xff0c;哪些是其他类的都有体现。 良好的定义行为一般指定义良好的属性和方法 可扩展性指的是子类…

面向对象设计原则例题

答案&#xff1a;B A C D D C 知识点&#xff1a; 面向对象设计7大原则 单一职责原则 设计目的单一的类 开放—封闭原则 对外扩展开放&#xff0c;对修改封闭 里氏替换原则 子类可以替换父类 依赖倒置原则 要依赖于抽象&#xff0c;而不是具体的实现&#xff1b;针对接…