2025.04.14【Table】| 生信数据表图技巧
Custom title
A set of examples showing how to customize the titles of a
table made with GT
Custom footer
How to customize the footer and the references section of a
gt table
文章目录
- Custom title
- Custom footer
- 生信数据可视化:Table图表详解
- 1. R语言中的表格创建基础
- 1.1 创建一个简单的数据框
- 1.2 使用tibble创建数据框
- 2. 使用kableExtra创建美化的表格
- 2.1 安装和加载kableExtra
- 2.2 创建一个美化的表格
- 3. 使用gt包创建复杂的表格
- 3.1 安装和加载gt
- 3.2 创建一个复杂的表格
- 4. 使用reactable创建交互式表格
- 4.1 安装和加载reactable
- 4.2 创建一个交互式表格
- 5. 使用DT包创建动态表格
- 5.1 安装和加载DT
- 5.2 创建一个动态表格
- 6. 结合多个包进行高级表格操作
- 6.1 结合kableExtra和DT
- 结语
生信数据可视化:Table图表详解
在生物信息学领域,数据的可视化至关重要,而表格作为一种直观展示复杂数据的工具,扮演着不可或缺的角色。R语言以其在表格创建和操作方面的卓越性能而闻名,提供了多种包如kableExtra
、gt
、reactable
和DT
,这些包不仅功能丰富,而且适用于不同的数据类型和可视化目标。本博客旨在通过丰富的示例,指导你如何根据不同的数据和需求选择合适的表格创建策略。从基础的表格样式到高级的交互式表格,我们将探讨如何利用R语言的强大功能,将数据以清晰、有组织的方式呈现,以便于理解和分析。通过这些示例,即使是初学者也能快速上手,有效地利用R语言进行生物信息数据的表格化展示。
1. R语言中的表格创建基础
在R语言中,创建表格的基础是使用data.frame
或者tibble
。这两种数据结构都可以存储表格数据,其中tibble
是data.frame
的一个现代化替代品,提供了更好的打印和子集操作。
1.1 创建一个简单的数据框
# 创建一个简单的数据框
df <- data.frame(Sample = c("Sample1", "Sample2", "Sample3"),Gene1 = c(10, 20, 30),Gene2 = c(15, 25, 35)
)# 打印数据框
print(df)
这段代码创建了一个包含样本名称和两个基因表达值的数据框,并将其打印出来。
1.2 使用tibble创建数据框
# 加载tibble包
library(tibble)# 使用tibble创建数据框
df_tibble <- tibble(Sample = c("Sample1", "Sample2", "Sample3"),Gene1 = c(10, 20, 30),Gene2 = c(15, 25, 35)
)# 打印tibble数据框
print(df_tibble)
tibble
提供了更友好的打印输出,特别是在处理大型数据集时。
2. 使用kableExtra创建美化的表格
kableExtra
是一个强大的包,可以与knitr
和kable
一起使用,以创建美观的表格。
2.1 安装和加载kableExtra
# 安装kableExtra包
install.packages("kableExtra")# 加载kableExtra包
library(kableExtra)
2.2 创建一个美化的表格
# 使用kable创建一个基本的表格
kable_df <- kable(df, format = "html") %>%kable_styling(bootstrap_options = c("striped", "hover"))# 打印美化后的表格
print(kable_df)
这段代码将创建一个带有条纹和悬停效果的HTML表格。
3. 使用gt包创建复杂的表格
gt
是一个现代的、灵活的表格创建包,它允许高度定制化的表格设计。
3.1 安装和加载gt
# 安装gt包
install.packages("gt")# 加载gt包
library(gt)
3.2 创建一个复杂的表格
# 使用gt创建一个复杂的表格
gt_table <- gt(df) %>%tab_options(Table.Theme = gttheme_minimal(),Table.Footnote.font.size = px(10)) %>%fmt_number(columns = everything(),decimals = 2)# 打印复杂的表格
print(gt_table)
这段代码创建了一个具有最小主题和数字格式化的表格。
4. 使用reactable创建交互式表格
reactable
是一个用于创建交互式HTML表格的包。
4.1 安装和加载reactable
# 安装reactable包
install.packages("reactable")# 加载reactable包
library(reactable)
4.2 创建一个交互式表格
# 使用reactable创建一个交互式表格
react_table <- reactable(df, default_col_def = col_def(align = "center"))# 打印交互式表格
print(react_table)
这段代码创建了一个居中对齐的交互式表格。
5. 使用DT包创建动态表格
DT
是一个用于创建动态HTML表格的包,它允许用户与表格进行交互。
5.1 安装和加载DT
# 安装DT包
install.packages("DT")# 加载DT包
library(DT)
5.2 创建一个动态表格
# 使用DT创建一个动态表格
dt_table <- datatable(df)# 打印动态表格
print(dt_table)
这段代码创建了一个可以排序和搜索的动态表格。
6. 结合多个包进行高级表格操作
在实际应用中,我们可能需要结合多个包来实现更复杂的表格操作。
6.1 结合kableExtra和DT
# 结合kableExtra和DT创建一个美化且动态的表格
kable_dt <- kable(df, format = "html") %>%kable_styling(bootstrap_options = c("striped", "hover")) %>%add_header_above(c(" " = 1, "Gene Expression" = c("Gene1", "Gene2"))) %>%DT::datatable(options = list(pageLength = 5))# 打印美化且动态的表格
print(kable_dt)
这段代码创建了一个具有额外表头和分页功能的美化且动态的表格。
结语
通过上述内容,我们学习了如何在R语言中使用不同的包来创建和操作表格。从基础的数据框操作到高级的交互式和动态表格,R语言提供了强大的工具来满足各种数据可视化需求。希望这篇文章能帮助你更好地理解和应用R语言在生物信息学数据可视化中的强大功能。
🌟 非常感谢您抽出宝贵的时间阅读我的文章。如果您觉得这篇文章对您有所帮助,或者激发了您对生物信息学的兴趣,我诚挚地邀请您:
👍 点赞这篇文章,让更多人看到我们共同的热爱和追求。
🔔 关注我的账号,不错过每一次知识的分享和探索的旅程。
📢 您的每一个点赞和关注都是对我最大的支持和鼓励,也是推动我继续创作优质内容的动力。
📚 我承诺,将持续为您带来深度与广度兼具的生物信息学内容,让我们一起在知识的海洋中遨游,发现更多未知的奇迹。
💌 如果您有任何问题或想要进一步交流,欢迎在评论区留言,我会尽快回复您。
相关文章:
2025.04.14【Table】| 生信数据表图技巧
Custom title A set of examples showing how to customize the titles of a table made with GT Custom footer How to customize the footer and the references section of a gt table 文章目录 Custom titleCustom footer 生信数据可视化:Table图表详解1. R语…...
Unified Modeling Language,统一建模语言
UML(Unified Modeling Language,统一建模语言)是一种标准化的图形化建模语言,用于可视化、规范和文档化软件系统的设计。UML 提供了一套通用的符号和规则,帮助开发者、架构师和团队成员更好地理解和沟通软件系统的结构…...
OCP证书有效期是永久,但需要更新
在数据库管理领域,OCP证书作为Oracle认证体系中的重要组成部分,一直是数据库专业人士追求的目标。许多考证者会有疑惑:OCP证书是永久有效的吗?需要更新吗? Oracle官方明确规定:OCP证书一经获得,终身有效。无…...
服务器本地搭建
socket函数 它用于创建一个新的套接字(socket)。 函数原型 #include <sys/socket.h> int socket(int domain, int type, int protocol);参数解释 domain:它指定了通信所使用的协议族,常见的取值如下: AF_INET…...
调节磁盘和CPU的矛盾——InnoDB的Buffer Pool
缓存的重要性 无论是用于存储用户数据的索引【聚簇索引、二级索引】还是各种系统数据,都是以页的形式存放在表空间中【对一个/几个实际文件的抽象,存储在磁盘上】如果需要访问某页的数据,就会把完整的页数据加载到内存中【即使只访问页中的一…...
[dp12_回文子串] 最长回文子串 | 分割回文串 IV
目录 1.回文子串 题解 2.最长回文子串 题解 3.分割回文串 IV 题解 dp[i][j] 表示 s 字符串 [i, j] 的子串,是否是回文串( 建始末表) 将两个 for 循环的结果,借助二维 dp 来存 1.回文子串 链接:647. 回文子串 给你一个字符…...
分布式应用架构的演变
整体演变过程 第一阶段:单一应用架构 单一应用架构,是把所有服务都放在一个项目中,进行打包部署到服务器上,如果流量特别大的话,就在另外的服务器上部署相同的功能模块用来分摊流量。但是这样的话,一旦有某…...
zephyr RTOS 中 bt_le_adv_start函数的功能应用
目录 概述 1 功能 1.1 功能介绍 1.2 函数原型 2 参数说明 2.1 广播参数(bt_le_adv_param) 2.2 常用广播选项(options) 2.3 广播数据(bt_data) 3 示例代码 3.1 启动可连接广播(带设备名…...
双按键控制LED(中断优先级)
1.启动时,两个LED灯熄灭,1秒钟后(定时器实现),LED自动点亮; 2.按键1按下后,通过中断int0把两个LED熄灭5s时间,int0优先级设置为最高(优先级必须设置,设置后才…...
美团即时零售大动作,将独立的闪购将会改变什么?
4月12日上午,美团核心本地商业CEO王莆中在社交媒体上发文,宣布美团将在下周正式发布即时零售品牌,标志着美团将进一步发展即时零售业务。 首先,从市场格局角度来看,美团将独立的闪购品牌推出,会进一步加剧…...
如何安装git?
以下是 Windows、macOS 和 Linux 系统安装 Git 的详细步骤: 一、Windows 系统安装 Git 下载安装包 访问 Git 官网下载页,点击下载 Windows 版安装程序(如 Git-2.45.1-64-bit.exe)。 运行安装程序 安装选项: 选择安装路…...
Ubuntu上docker、docker-compose的安装
今天来实践下Ubuntu上面安装docker跟docker-compose,为后面安装dify、fastgpt做准备。 一、安装docker sudo apt-get updatesudo apt-get install docker.io 然后系统输入 docker --version 出现下图即为docker安装成功。 二、安装docker-compose 我先看下系统…...
ubuntu如何设置静态ip
服务器有时是通过dhcp动态获取ip的,有时出于远程登录方便的考虑,会将其设置为静态ip,以下是设置静态ip的方法 在 Ubuntu 中设置静态 IP 的方法取决于你使用的网络管理工具(如 netplan、NetworkManager 或 ifconfig)。…...
js原型和原型链
js原型: 1、原型诞生的目的是什么呢? js原型的产生是为了解决在js对象实例之间共享属性和方法,并把他们很好聚集在一起(原型对象上)。每个函数都会创建一个prototype属性,这个属性指向的就是原型对象。 …...
大数据 - 2. Hadoop - HDFS
前言 HDFS:分布式文件系统 为什么海量数据需要分布式存储技术? 文件过大时,单台服务器无法承担,要靠数量来解决。数量的提升带来的是网络传输、磁盘读写、CPU、内存等各方面的提升。 众多的服务器一起工作,如何保证…...
嵌入式硬件常用总线接口知识体系总结和对比
0.前言 在嵌入式工程实现中,多多少少我们都使用过总线,各种各样的总线应用于不同场合,不同场景有不同的优势,但是我们在作为工程师过程中在如何选择项目合适的总线,根据什么来选?需要我们对项目全局和总线特征有所了解,本文目的就是对比多种总线的关键特征 我们在聊到…...
prime 1 靶场笔记(渗透测试)
环境说明: 靶机prime1和kali都使用的是NAT模式,网段在192.168.144.0/24。 Download (Mirror): https://download.vulnhub.com/prime/Prime_Series_Level-1.rar 一.信息收集 1.主机探测: 使用nmap进行全面扫描扫描,找到目标地址及…...
(二十四)安卓开发中的AppCompatActivity详解
在安卓开发中,AppCompatActivity 是一个非常核心的类,它继承自 Activity,并通过 Android Support Library(现已迁移至 AndroidX)提供了对 ActionBar 和 Material Design 的支持。它的主要作用是帮助开发者在不同版本的…...
AI大模型+全渠道整合:容联七陌智能客服赋能制造业升级
自《中国制造2025》战略提出以来,制造业的智能化发展进入快车道,但行业仍面临劳动力成本上升、供应链不透明、客户需求碎片化等挑战。企业亟需通过技术手段实现降本增效,而智能化客户服务成为关键突破口。 与此同时,客服行业正经历…...
Vue 技术解析:从核心概念到实战应用
Vue.js 是一款流行的渐进式前端框架,以其简洁的 API、灵活的组件化结构和高效的响应式数据绑定而受到开发者的广泛欢迎。本文将深入解析 Vue 技术的核心概念、原理和应用场景,帮助开发者更好地理解和使用 Vue.js。 一、Vue 的设计哲学与核心概念 &…...
中英文提示词对AI IDE编程能力影响有多大?
深度剖析 🧠:中英文提示词对AI IDE编程能力影响有多大?(附实战建议) 作者:AI助手 | 日期:2023-10-27 | 标签:AI, IDE, Prompt Engineering, LLM, 编程效率 摘要:随着 AI…...
ARM处理器程序烧写方式
一、烧写原理 无论是jtag还是串口烧写,本质都是先通过上位机(keil 或者flymcu或者芯片官方上位机等烧写bin的上位机)往mcu的ram里烧写一段代码即.FLM文件,这段代码在上位机(keil体现在配置项里,flymcu应该…...
AI 项目详细开发步骤指南
AI 项目详细开发步骤指南 一、环境搭建详解 1. JDK 17 安装与配置 Windows 系统安装步骤: 访问 Oracle 官网下载 JDK 17 安装包:https://www.oracle.com/java/technologies/downloads/#java17下载 Windows x64 Installer 版本双击安装包,…...
文本纠错WPS插件:提升文档质量的利器
文本纠错WPS插件:提升文档质量的利器 引言 在数字化办公日益普及的今天,文档的质量直接影响到我们的工作效率和形象。一个错别字或标点错误,可能就会让我们的专业形象大打折扣。今天,我要向大家介绍一款强大的WPS插件——文本纠…...
Node.js 模块包的管理和使用是
一、模块包的概念 1.模块分类: 核心模块:Node.js 内置模块(如 fs, http, path),无需安装直接引用。 本地模块:开发者自己编写的模块文件,通过相对路径引入。 第三方模块:通过 npm…...
腾讯云golang一面
go垃圾回收机制 参考自:https://zhuanlan.zhihu.com/p/334999060 go 1.3 标记清除法 缺点 go 1.5 三色标记法 屏障机制 插入屏障 但是如果栈不添加,当全部三色标记扫描之后,栈上有可能依然存在白色对象被引用的情况(如上图的对象9). 所以要对栈重新进行三色标记扫…...
【Three.js基础学习】35.Particles Cursor Animation Shader
前言 关于着色器应用和画布,实现黑白色照片动态效果 一、代码 script.js import * as THREE from three import { OrbitControls } from three/addons/controls/OrbitControls.js import particlesVertexShader from ./shaders/particles/vertex.glsl import p…...
安卓性能调优之-掉帧测试
掉帧指的是某一帧没有在规定时间内完成渲染,导致 UI 画面不流畅,产生视觉上的卡顿、跳帧现象。 Android目标帧率: 一般情况下,Android设备的屏幕刷新率是60Hz,即每秒需要渲染60帧(Frame Per Second, FPS&a…...
六、分布式嵌入
六、分布式嵌入 文章目录 六、分布式嵌入前言一、先要配置torch.distributed环境二、Distributed Embeddings2.1 EmbeddingBagCollectionSharder2.2 ShardedEmbeddingBagCollection 三、Planner总结 前言 我们已经使用了TorchRec的主模块:EmbeddedBagCollection。我…...
13-scala模式匹配
模式匹配是检查某个值(value)是否匹配某一个模式的机制,一个成功的匹配同时会将匹配值解构为其组成部分。它是Java中的switch语句的升级版,同样可以用于替代一系列的 if/else 语句。 语法 一个模式匹配语句包括一个待匹配的值&a…...
Multisim使用说明详尽版--(2025最新版)
一、Multisim14前言 1.1、主流电路仿真软件 1. Multisim:NI开发的SPICE标准仿真工具,支持模拟/数字电路混合仿真,内置丰富的元件库和虚拟仪器(示波器、频谱仪等),适合教学和竞赛设计。官网:艾…...
试一下阿里云新出的mcp服务
前言 MCP这段时间的发展可谓是如火如荼,各种教程也是层出不穷,基本的教程都是如何集成各类型的mcp(比如高德地图)到开发工具(比如cursor),效果很好,但是有个问题就是,配置教程较为繁琐。 阿里云悄然上线的mcp 今天早上…...
正弦波有效值和平均值(学习笔记)
一个周期的正弦波在坐标轴上围的面积有多大? 一般正弦波以 y Asin(wx)表示,其中A为振幅,W为角速度。周期T 2π/w; 确定积分区间是x 0,到x 2π。 计算绝对值积分: 变量代还:wx θ,dx dθ…...
科研软件分享
这个帖子不定期更新,分享博主自己使用的很好用的科研软件 1 connectedpaper Connected Papers | Find and explore academic papers 2 Semantic Scholar...
Python(12)深入解析Python参数传递:从底层机制到高级应用实践
目录 一、参数传递的编程哲学1.1 参数传递的本质1.2 参数传递类型矩阵 二、参数传递核心规则2.1 位置参数与关键字参数2.2 可变参数处理 三、参数传递高级特性3.1 类型约束与提示3.2 参数内存优化 四、参数传递工程实践4.1 防御性参数校验4.2 参数依赖注入 五、参数传递性能优化…...
MVCC是什么?MVCC的作用是什么?MVCC实现方式有哪些?
MVCC(多版本并发控制)详解 一、MVCC是什么? MVCC(Multi-Version Concurrency Control,多版本并发控制)是数据库管理系统中的一种并发控制机制,它通过维护数据的多个版本来实现非阻塞读和高并发…...
007.Gitlab CICD缓存与附件
文章目录 缓存与产物缓存与产物概述 同分支不同job数据共享默认数据共享不同 Job 数据共享 不同分支相同job数据共享跨分支同job数据共享 不同分支不同job数据共享跨分支跨job数据共享 将文件/夹保存为附件产物介绍创建产物跨job共享产物 缓存与产物 缓存与产物概述 缓存是一…...
A006-基于Selenium和JMeter的吉屋web端的自动化测试设计与实现
产出:自动测试脚本测试用例开题报告自动化测试报告论文jmeter性能测试 --------------------**论文主要内容***----- 第1章 吉屋web端需求分析 1.1 吉屋web端功能需求分析 由于社会对知识获取的需求不断增长,海量繁多的房屋信息已难以依靠传统人工高效…...
图像预处理-边缘填充,透视变换和色彩空间基础
一.边缘填充 一般来图片操作之后会有空区域,就是对空出来的区域进行了像素值的填充,(0,0,0)也就是黑色像素值的填充。 # 默认黑色填充 import cv2 as cvimg cv.imread(../images/lena.png) # 先让原图旋转45度 M cv.getRotatio…...
数字化赋能,众趣科技助力智慧园区深化管理运营能力
数字化、网络化和智能化,被公认为是未来社会发展的大趋势。随着全球物联网、云计算等新一代信息技术不断成熟,传统的招商管理运营模式难以满足园区当下所需,以“园区互联网”为理念的“智慧园区”应运而生,同时融入社交、移动、物…...
《AI大模型应知应会100篇》 第16篇:AI安全与对齐:大模型的灵魂工程
第16篇:AI安全与对齐:大模型的灵魂工程 摘要 在人工智能技术飞速发展的今天,大型语言模型(LLM)已经成为推动社会进步的重要工具。然而,随着这些模型能力的增强,如何确保它们的行为符合人类的期…...
MCP的另一面
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
Golang|锁相关
文章目录 并发安全性与原子操作读写锁分布式锁 并发安全性与原子操作 普通数据类型在并发读写中是会出现问题的,有时候操作会被吞,导致脏写,比如上面n加了两次应该为2,但是由于并发,n最后还是只加了一次 读写锁 sync.…...
大模型面经 | 介绍一下大模型微调方法Prefix Tuning、Prompt Tuning、P-Tuning和P-Tuning v2
大家好,我是皮先生!! 今天给大家分享一些关于大模型面试常见的面试题,希望对大家的面试有所帮助。 往期回顾: 大模型面经 | 春招、秋招算法面试常考八股文附答案(RAG专题一) 大模型面经 | 春招、秋招算法面试常考八股文附答案(RAG专题二) 大模型面经 | 春招、秋招算法…...
JMeter的高并发和高频率和分布式
性能测试 模拟各种正常的、峰值的测试环境,检测程序的各项性能指标是否能够达标 高并发 JMeter中内置了定时器,可以实现时间模式相关的性能测试 需求1:同一时刻100个同学去访问学生管理系统的查询所有学院信息功能,统计高并发情况下平均响…...
设计模式-模板模式
设计模式-模板模式,不用重复写大的逻辑,父类定义好不变的模板方法,子类使用,当框架是父类的框架时可以继承...
手机端可部署的开源大模型; 通义千问2.5训练和推理需要的内存和外存
手机端可部署的开源大模型 目录 手机端可部署的开源大模型Qwen2.5 0.5B 7b 推理采用手机内存需要多少Qwen2.5 0.5B不同量化精度下的内存需求Qwen2.5 7B不同量化精度下的内存需求通义千问2.5训练和推理需要的内存和外存推理阶段1. Qwen2.5 - 7B2. Qwen2.5 - 14B3. Qwen2.5 - 72B…...
记录学习的第二十五天
今天终于又开始更新了。实在是星期六的蓝桥杯给了我一个大大的打击,今天终于好不容易缓过来了,可以好好学算法了。 还是老规划,力扣的每日一题。不过今天的每日一题我之前做过了,就又提交了一次来签到。 之后三道哈希表题目。 我一…...
leetcode03 -- 武汉旅游查询系统
武汉旅游查询系统 1 界面展示 1.首页地图界面 2.查找功能 在查找框内输入查找的景点名称 查找到的景点在地图上进行定位,右侧展示景点的详细信息。 3.添加景点功能 在地图上点击某个位置,系统弹出一个输入框供用户填写景点的名称和描述。 在弹出的输入框中输入景点名…...
R 语言科研绘图第 39 期 --- 饼状图-旭日
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...