descrTable常用方法

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.xdnf.cn/news/1541654.html

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

相关文章

十五、差分输入运算放大电路

差分输入运算放大电路 1、差分输入运算放大电路的特点、用途&#xff0c; 2、输出信号电压与输入信号电压的关系。

Python | Leetcode Python题解之第420题强密码检验器

题目&#xff1a; 题解&#xff1a; class Solution:def strongPasswordChecker(self, password: str) -> int:n len(password)has_lower has_upper has_digit Falsefor ch in password:if ch.islower():has_lower Trueelif ch.isupper():has_upper Trueelif ch.isdi…

YOLOv10 简介

YOLOv10&#xff0c;由清华大学的研究人员基于 Ultralytics Python 包构建&#xff0c;引入了一种全新的实时目标检测方法&#xff0c;该方法解决了以往 YOLO 版本中后处理和模型架构方面的不足。通过消除非极大值抑制&#xff08;NMS&#xff09;并优化各种模型组件&#xff0…

Linux文件IO(五)-三种进程退出方法及空洞文件

1.三种进程退出方法 return 当程序在执行某个函数出错的时候&#xff0c;如果此函数执行失败会导致后面的步骤不能在进行下去时&#xff0c;应该在出错时终止程序运行&#xff0c;不应该让程序继续运行下去&#xff0c;那么如何退出程序、终止程序运行呢&#xff1f;有过编程…

数据结构:内部排序

文章目录 1. 前言1.1 什么是排序&#xff1f;1.2 排序的稳定性1.3 排序的分类和比较 2. 常见的排序算法3. 实现常见的排序算法3.1 直接插入排序3.2 希尔排序3.3 直接选择排序3.4 堆排序3.5 冒泡排序3.6 快速排序3.6.1 hoare思想3.6.2 挖坑法3.6.3 lomuto前后指针法3.6.4 非递归…

Mobile net V系列详解 理论+实战(3)

Mobilenet 系列 论文精讲部分0.摘要1. 引文2. 引文3. 基础概念的讨论3.1 深度可分离卷积3.2 线性瓶颈3.3 个人理解 4. 模型架构细节5. 实验细节6. 实验讨论7. 总结 论文精讲部分 鉴于上一小节中采用的代码是V2的模型&#xff0c;因此本章节现对V2模型论文讲解&#xff0c;便于…

GPT-4o在matlab编程中性能较好,与智谱清言相比

边标签由矩阵给出 s [1 2 3 3 3 3 4 5 6 7 8 9 9 9 10]; t [7 6 1 5 6 8 2 4 4 3 7 1 6 8 2]; G graph(s,t); plot(G) ------------------- GPT-4o给出的代码可用&#xff0c; clc;clear; % 定义边的起点和终点 s [1 2 3 3 3 3 4 5 6 7 8 9 9 9 10]; t [7 6 1 5 6 8 2 …

【数据结构-二维差分】力扣2536. 子矩阵元素加 1

给你一个正整数 n &#xff0c;表示最初有一个 n x n 、下标从 0 开始的整数矩阵 mat &#xff0c;矩阵中填满了 0 。 另给你一个二维整数数组 query 。针对每个查询 query[i] [row1i, col1i, row2i, col2i] &#xff0c;请你执行下述操作&#xff1a; 找出 左上角 为 (row1…

计算机毕业设计 社区医疗服务系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

使用Diskgenius系统迁移

使用Diskgenius系统迁移 1、使用系统迁移2、注意点3、新备份的系统盘装在电脑上可能出现盘符错乱导致开机不进入桌面情况 1、使用系统迁移 参考视频&#xff1a; DiskGenius无损系统迁移&#xff0c;换硬盘无需重装系统和软件 2、注意点 1&#xff09;新的硬盘里面的所有资料…

数据结构_1.1、数据结构的基本概念

1、基本概念 数据&#xff1a;是信息的载体&#xff0c;是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 数据元素&#xff1a;数据元素是数据的基本单位&#xff0c;通常作为一个整体进行考虑和处理…

【IEEE 独立出版,快速EI检索】第四届人工智能、虚拟现实与可视化国际学术会议(AIVRV 2024)

第四届人工智能、虚拟现实与可视化国际学术会议&#xff08;AIVRV 2024&#xff09; 2024 4th International Conference on Artificial Intelligence, Virtual Reality and Visualization 官方信息 会议官网&#xff1a;www.aivrv.org 2024 4th International Conference on…

NXP官方或正点原子mfgtool下载系统报错initialize the library falied error code:29

这是因为mfgtool版本或者源文件被破坏了&#xff0c;你可以重新下载一个被改过的mfgtool程序&#xff0c;我就是去原子官网重新在linux包里找了新的更迭过的mfgtool

【AI大语言模型】提示词工程基础及进阶

【AI大语言模型】提示词工程基础及进阶 什么是提示词&#xff08;Prompt&#xff09; 提示词&#xff08;Prompt&#xff09;是与人工智能对话时用来引导或触发生成某种输出的指令。 它相当于你在与 AI 进行互动时所提出的问题或任务说明。提示词可以是简短的指令、一个问题…

springboot注册和注入组件方式概览

IoC&#xff1a;Inversion of Control&#xff08;控制反转&#xff09; 控制&#xff1a;资源的控制权&#xff08;资源的创建、获取、销毁等&#xff09; 反转&#xff1a;和传统的方式不一样了 DI &#xff1a;Dependency Injection&#xff08;依赖注入&#xff09; 依赖&…

C++编程语言:基础设施:命名空间(Bjarne Stroustrup)

第 14 章 命名空间(Namespaces) 目录 14.1 组成问题(Composition Problems) 14.2 命名空间(Namespaces) 14.2.1 显式修饰(Explicit Qualification) 14.2.2 使用using 声明 14.2.3 using 指令 14.2.4 参数依赖查询 14.2.5 命名空间的开放性 14.3 模块化和接口 …

接口加解密及数据加解密

目录 一、 加解密方式介绍 1.1 Hash算法加密 1.2. 对称加密 1.3 非对称加密 二、 我们要讲什么&#xff1f; 三、 接口加解密 四、 数据加解密 一、 加解密方式介绍 所有的加密方式我们可以分为三类&#xff1a;对称加密、非对称加密、Hash算法加密。 算法内部的具体实现…

自定义dialog 背景属性差异

比如正常要实现的dialog效果&#xff1a; 代码如此&#xff1a; public class SimpleDialog extends Dialog {private Button permissionokTv;//确定按钮private Button permissionnoTv;//取消按钮private TextView permissiontitleTv;//消息标题文本private TextView permiss…

[OpenGL]使用OpenGL绘制带纹理三角形

一、简介 本文介绍了如何使用使用OpenGL绘制带纹理三角形。 在绘制带纹理的三角形时&#xff0c; 首先使用.h读取准备好的.png格式的图片作为纹理&#xff0c;然后在fragment shader中使用 ... in vec2 textureCoord; uniform sampler2D aTexture1; void main() {FragColor …

Elionix 电子束曝光系统

Elionix 电子束曝光系统 - 上海纳腾仪器有限公司 -