R语言快速生成三线表(1)
R语言的优势在于批量处理,常使用到循环和函数,三线表是科研文章中必备的内容。利用函数实现自动判断数据类型和计算。使用R包(table1)。
# 创建连续性变量
continuous_var1 <- c(1.2, 2.5, 3.7, 4.8, 5.9)
continuous_var2 <- c(10.5, 20.3, 15.2, 8.7, 12.1)
continuous_var3 <- c(0.3, 0.7, 1.1, 2.0, 1.5)# 创建分类变量
category_var1 <- factor(c("A", "B", "A", "C", "B"))
category_var2 <- factor(c("X", "Y", "Z", "X", "Z"))
category_var3 <- factor(c("High", "Low", "Medium", "Medium", "High"))# 创建data.frame
df <- data.frame(ContinuousVar1 = continuous_var1,ContinuousVar2 = continuous_var2,ContinuousVar3 = continuous_var3,CategoryVar1 = category_var1,CategoryVar2 = category_var2,CategoryVar3 = category_var3
)# 显示data.frame
df
#generate three line table
#pvalue
pvalue <- function(x, name, ...){y <- df[[name]]#variableg <- df[,"Group"]#Groupif (is.numeric(y)) {if (shapiro.test(y)$p.value>0.05){p <- t.test(y ~ g)$p.valuep_with_symbol <- paste0(format.pval(p, digits = 3, eps = 0.001), "*")}else{p <- wilcox.test(y ~ g)$p.valuep_with_symbol <- paste0(format.pval(p, digits = 3, eps = 0.001), "**")}}else{if (length(y) > 40 & any(sapply(chisq.test(y,g)$expected, function(x) x >=1))){p <- chisq.test(y, g)$p.valuep_with_symbol <- paste0(format.pval(p, digits = 3, eps = 0.001,trim = FALSE), "#")} else {p<-fisher.test(y,g)$p.valuep_with_symbol <- paste0(format.pval(p, digits = 3, eps = 0.001), "##")}}c("", p_with_symbol)
}#自定义函数准备显示统计值(t值或卡方值)
stat_value <- function(x, name, ...) {y <- df[[name]] # 变量g <- df[,"Group"] # 分组变量if (is.numeric(y)) {# 连续变量使用 t 检验或 Mann-Whitney U 测试if (shapiro.test(y)$p.value > 0.05) {s <- abs(t.test(y ~ g)$statistic[["t"]]) # 正态分布,使用 t 检验} else {s <- wilcox.test(y ~ g)[["statistic"]][["W"]] # 非正态分布,使用 Mann-Whitney U 测试}} else {if(length(y) > 40 & any(sapply(chisq.test(y,g)$expected, function(x) x >=1))){s<-chisq.test(y, g)$statistic[["X-squared"]]} else {s<-fisher.test(y, g)$statistic[["X-squared"]]}# 分类变量使用卡方检验s <- chisq.test(y, g)$statistic[["X-squared"]]}c("", format.pval(s, digits=3, eps=0.001))
}
#定义变量的展现形式
# rndr <- function(x, name, ...) {
# if (!is.numeric(x)) return(render.categorical.default(x))
# what <- switch(name,
# Age = "Median [Min, Max]",
# `Survival months` = "Median [Min, Max]"
# )
# parse.abbrev.render.code(c("", what))(x)
# }
#绘图
library(table1)
paste(sprintf("`%s`",colnames(df)),collapse="+")
df$Group<-c(rep("A",2),rep("B",3))
table<-table1(~`ContinuousVar1`+`ContinuousVar2`+`ContinuousVar3`+`CategoryVar1`+`CategoryVar2`+`CategoryVar3`|Group,ender=rndr,data=df,extra.col=list(`Statistics`=stat_value,`P-value`=pvalue))

#保存为docx
library(flextable);help(package="flextable")
table_fl<-t1flex(table)
save_as_docx(table_fl,path="table.docx")
相关文章:
R语言快速生成三线表(1)
R语言的优势在于批量处理,常使用到循环和函数,三线表是科研文章中必备的内容。利用函数实现自动判断数据类型和计算。使用R包(table1)。 # 创建连续性变量 continuous_var1 <- c(1.2, 2.5, 3.7, 4.8, 5.9) continuous_var2 &l…...
【动手学深度学习】--20.目标检测和边界框
文章目录 目标检测和边界框1.目标检测2.边界框 目标检测和边界框 学习视频:物体检测和数据集【动手学深度学习v2】 官方笔记:目标检测和边界框 在图像分类任务中,我们假设图像中只有一个主要物体对象,我们只关注如何识别其类别…...
实验八 网卡驱动移植
【实验目的】 掌握 Linux 内核配置的基本方法,完成对网卡驱动、NFS 等相关功能的配置 【实验环境】 ubuntu 14.04 发行版FS4412 实验平台交叉编译工具:arm-none-linux-gnueabi- 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行&…...
Linux的Man Page知识记录
Man(short for manual) Page是Unix和Linux操作系统中的一个重要文档,提供命令、函数、系统调用等的详细介绍和使用说明。它是以纯文本的形式出现,通常在终端(terminal)中使用man命令访问。Man Page按照章节…...
RTSP/Onvif视频服务器EasyNVR安防视频云服务调用接口录像会被自动删除的问题解决方案
EasyNVR安防视频云服务是基于RTSP/Onvif协议接入的视频平台,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等。平台丰富灵活的视频能力,可应用在智慧校园、智慧工厂、智慧水利等…...
几个nlp的小项目(文本分类)
几个nlp的小项目(文本分类) 导入加载数据类、评测类查看数据集精确展示数据测评方法设置参数tokenizer,token化的解释对数据集进行预处理加载预训练模型进行训练设置训练模型的参数一个根据任务名获取,测评方法的函数创建预训练模型开始训练本项目的工作完成了什么任务?导…...
MFC——base编码和json数据
目录 1. JSON是什么 2. base64是什么 Base64是一种编解码算法 1. JSON是什么 JSON 是一种数据格式。采用完全独立于语言的文本格式, 因为易读, 易写, 易解析的特性成为理想的数据交换语言。主要有三种类型的值:简单值(字符串, 数字, 布尔, null), 对象, 数组。 长这样的数…...
SQL Server、MySQL和Oracle数据库分页查询的区别与联系
摘要:本文将通过一个现实例子,详细解释SQL Server、MySQL和Oracle这三种常见关系型数据库在分页查询方面的区别与联系。我们将提供具体场景下的SQL语句示例,并解释每个数据库的分页查询用法以及优化方法,帮助读者更好地选择适合自…...
Qt跨平台无边框窗口探索记录
一、前言 实现的效果为:通过黑色矩形框预操作,鼠标释放时更新窗口。效果图如下: 1.功能 1.1 已实现功能 8个方向的缩放标题栏拖动标题栏双击最大化/正常窗口窗口最小尺寸预操作框颜色与背景色互补多屏幕默认标题栏 1.2 待开发功能 拖动到…...
概念解析 | 电磁计算的新篇章:智能电磁计算
注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:智能电磁计算。 电磁计算的新篇章:智能电磁计算 随着人工智能的飞速发展,我们正处在一个信息爆炸的时代。各个领域&a…...
SpringBoot-1-Spring Boot实战:快速搭建你的第一个应用,以及了解原理
SpringBoot-1-Spring Boot实战:快速搭建你的第一个应用,以及了解原理 今日内容 SpringBootWeb入门 前言 我们在之前介绍Spring的时候,已经说过Spring官方(Spring官方)提供很多开源项目,点击projects,看到spring家族…...
Web服务器基础 http协议
文章目录 1.Web基础1.1MIME1.2 URI 和 URL1.2.1定义1.2.2两者的区别 2.静态资源和动态资源2.1 静态资源2.2 动态资源 3.HTTP协议3.1HTTP协议简介3.2HTTP协议的版本及区别3.2.1http协议版本3.2.2http1.0和1.1的区别 3.3HTTP请求报文3.4HTTP请求访问的过程1、建立连接:…...
采用 SVG 实现 web 绘图软件的技术分享
背景 前端技术 使用 svg.js 及全家桶的组件实现 svg 绘图的 web 软件。 MySql8 词语定义 图纸:在页面上绘制的内容整体整体叫做图纸,业务上图纸是具有重要业务意义的概念。 对象:图纸上的业务元素的最小概念。 难点-技术背景 当时遇到…...
Qt --- QTimer
在Qt开发界面的时候,非常多的时候都得使用定时器,定时器具体可以干什么呢?比如:控制时钟、定时改变样式、改变进度等。。。说到这里,经常使用QQ,而不同的时段都会显示不同的背景,我认为如果用Qt…...
计算机终端核心安全配置规范
声明 本文是学习 政务计算机终端核心配置规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 范围 本标准提出了政务计算机终端核心配置的基本概念和要求,规定了核心配置的自动化实现方法,规范了核心配置实施流程。 本标准适…...
【Spring Boot】什么是深度优先遍历与广度优先遍历?用Spring Boot项目举例说明。
深度优先遍历(Depth First Search,DFS)和广度优先遍历(Breadth First Search,BFS)是图的遍历算法。其中,深度优先遍历从某个起始点开始,先访问一个节点,然后跳到它的一个…...
MetaMask Mobile +Chrome DevTools 调试Web3应用教程
注:本教程来源网络,有兴趣的可以直接到这里查看。 写好了WEB3应用,在本地调试用得好好的,但是用钱包软件访问就报莫名的错,但是又不知道是什么原因,排查的过程非常浪费时间 。 因此在本地同一局域网进行调试…...
栈和队列OJ题
有效括号问题: 题目描述: 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的…...
36k字从Attention讲解Transformer及其在Vision中的应用(pytorch版)
文章目录 0.卷积操作1.注意力1.1 注意力概述(Attention)1.1.1 Encoder-Decoder1.1.2 查询、键和值1.1.3 注意力汇聚: Nadaraya-Watson 核回归1.2 注意力评分函数1.2.1 加性注意力1.2.2 缩放点积注意力1.3 自注意力(Self-Attention)1.3.1 自注意力的定义和计算1.3.2 自注意…...
网站怎么选择适合的服务器
IDC数据中心大致分为T1、T2、T3、T4 T1:基本机房基础设施(可用性99.671%、年平均故障时间28.8小时) 1) T1 基本数据中心拥有非冗余容量组件,以及一个单一的非冗余分配路径来为关键环境提供服务。T1 基础设施包括:IT …...
如何从零开始构建中国象棋AlphaZero AI:完整实战指南与进阶技巧
如何从零开始构建中国象棋AlphaZero AI:完整实战指南与进阶技巧 【免费下载链接】ChineseChess-AlphaZero Implement AlphaZero/AlphaGo Zero methods on Chinese chess. 项目地址: https://gitcode.com/gh_mirrors/ch/ChineseChess-AlphaZero 想要打造一个能…...
本科生 AI 写论文天花板!Paperxie 智能写作:从选题到成稿全流程,零焦虑搞定毕业论文
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 一、写在前面:毕业论文,为什么成了本科生的 “年度噩梦”? 每年毕业季&#x…...
WeKnora部署避坑指南:解决端口占用、模型加载等常见问题
WeKnora部署避坑指南:解决端口占用、模型加载等常见问题 1. 为什么需要这份避坑指南? WeKnora作为一款开箱即用的知识库问答系统,虽然设计上追求极简部署,但在实际运行中仍然可能遇到一些技术问题。这些问题往往不是产品本身的缺…...
OpenClaw+nanobot镜像:学术PDF自动摘要系统实战
OpenClawnanobot镜像:学术PDF自动摘要系统实战 1. 为什么需要自动化文献处理 作为一名经常需要阅读大量学术论文的研究者,我发现自己每周要花费数小时在重复性劳动上:下载PDF、快速浏览摘要、标记关键段落、整理参考文献。这些机械性工作不…...
Python中数据映射与转换的实现方法
在Python编程中,数据映射与转换是数据处理过程中的核心环节,广泛应用于数据清洗、格式转换、特征工程等多个领域。本文将系统梳理Python中实现数据映射与转换的多种方法,涵盖基础技巧、进阶应用及第三方库的高效实现,帮助开发者构…...
平面六杆机构的运动仿真(毕业论文+CAD图纸+开题报告+外文翻译)
平面六杆机构作为机械传动领域的重要构件,其运动特性直接影响机械系统的整体性能。该机构由六个刚性杆件通过转动副或移动副连接形成闭合环路,通过调整杆长比例与铰链位置,可实现复杂轨迹输出与多自由度运动控制。相较于四杆机构,…...
GPT-SoVITS实战体验:仅需1分钟音频,打造高保真个人语音库
GPT-SoVITS实战体验:仅需1分钟音频,打造高保真个人语音库 1. 引言:声音克隆技术的平民化革命 想象一下这样的场景:你录制了一段60秒的语音,几小时后就能听到AI用你的声音朗读任何文本——不仅音色相似度高达95%&…...
YALMIP求解器报错看不懂?从verbose到debug,教你快速定位并解决优化问题
YALMIP求解器报错看不懂?从verbose到debug,教你快速定位并解决优化问题 当你满怀期待地运行YALMIP优化代码,却看到命令行突然跳出一片红色报错信息时,那种挫败感每个优化工程师都深有体会。"No feasible solution found"…...
实战指南:基于快马生成tomcat生产级配置,涵盖https、集群与性能调优
今天想和大家分享一个实战经验:如何在生产环境中配置Tomcat服务器。作为一个长期和Tomcat打交道的开发者,我深知生产环境配置和本地开发环境的巨大差异。最近在InsCode(快马)平台上实践了一套完整的配置方案,效果很不错,这里把关键…...
高效命令行的OpenClaw搭配:nanobot镜像与zsh/fish集成
高效命令行的OpenClaw搭配:nanobot镜像与zsh/fish集成 1. 为什么需要命令行AI助手 作为一个长期与终端打交道的开发者,我发现自己每天要重复处理三类高频问题:记不清的命令参数、复杂的管道组合、报错信息的即时解读。传统解决方案要么依赖…...
