43. R 数据可视化(一: 用R制作漂亮的表格) |
您所在的位置:网站首页 › 课程制作表格怎么做图片 › 43. R 数据可视化(一: 用R制作漂亮的表格) |
参考:https://www.twblogs.net/a/5c74cddcbd9eee339917b7b2https://towardsdatascience.com/exploring-the-gt-grammar-of-tables-package-in-r-7fff9d0b40cd 前言想到表格,是不是就是excel,或者直接用ppt 来肝? R 天然的就有强大的处理数据生成各种表格的能力,岂不美哉? 今天就来学习一下gt 包: ![]() 学习网址:https://gt.rstudio.com/ 我的目标是画出: ![]() ![]() 其实也就是标准的数据框格式。 需要注意的是,当导入gt 中绘制表格时,会忽略掉行名与列名。 开始操作0.基本表格加载相关包。尝试直接用gt 获得最基本的图表: 代码语言:javascript复制library(gt) library(tidyverse) library(glue) gt(gt_data)![]() image.png 1. 添加行名的标签也就是: ![]() 可以直接在gt 函数中指定rowname_col:ps:其中的行的组别可以用参数groupname_col 特别指定,也可以使用重复的名称,直接给rowname_col 指定多个值。 代码语言:javascript复制gt_tbl % gt(rowname_col = "names", "group_label")![]() image.png 2. 头部信息tab_header 可以添加头信息,其中title 与subtitle 分别对应标题和子标题: 代码语言:javascript复制gt_tbl % tab_header( title = md("**Comparison of genomic alterations**"), subtitle = md("between *BRCA1/2* mutation carriers and non-carriers Among different prognostic variables") ) gt_tbl这里使用md() 可以在文本内容中支持md 语法: ![]() 使用tab_spanner 函数添加分组,label 指定分组名,columns指定同一分组的多个列。需要使用vars 选定这些列名: 代码语言:javascript复制gt_tbl % tab_spanner( label = "BRCA1", columns = vars(`carrier(N=17)`, `non-carrier(N=262)`, `P-value-1`) ) %>% tab_spanner( label = "BRCA2", columns = vars(`carrier(N=7)`, `non-carrier(N=272)`, `P-value-2`) ) %>% tab_stubhead(label = md("**Variables**")) gt_tbl![]() image.png 4. 修改文本字体位置代码语言:javascript复制gt_tbl % tab_style( style = list( cell_text(font = "Oswald", align = "center", weight = "bold") ), locations = list( cells_data(everything()) ) )使用tab_style 命令调整,其中style 指定文本风格,locations 指定文本设定的位置(标题、数据、信息框等等),比如cells_data 就是指定body cell的: ![]() 效果如下: ![]() 我们还可以指定某个cell 以突出其中内容: 代码语言:javascript复制## 设置字体 gt_tbl % tab_style( style = list( cell_text( weight = "bold" ), cell_fill(color = "#F9E3D6") ), cells_body( columns = vars(`P-value-1`), rows = `P-value-1` % tab_options( table.background.color = "lightcyan" )![]() image.png 6. 合并重复数值在我的图表中,对应的P 值是重复的,不太好看: ![]() 这里我直接在edit 中手动将重复的删除(你也可以写代码),就会产生NA 值。 接着使用fmt_missing 函数,便可以实现替换缺失值: 代码语言:javascript复制## 去除NA 值 gt_tbl % fmt_missing( columns = TRUE, missing_text = "" ) gt_tbl![]() 当然我这里是“曲线修改”了,如果可以像excel中直接合并单元格是更好的了。 7. 表格的输出可以用gtsave 直接保存为多种类型的数据: html代码语言:javascript复制gt_tbl %>% gtsave("tab_1.html") PNG&PDF代码语言:javascript复制# tab_1 %>% gtsave("tab_1.png", zoom = 2.5, expand = 10) # tab_1 %>% gtsave("tab_1.pdf", path = "~") 更多学习的内容可以参见gt 包官方提供的r cloud 测试服务:https://rstudio.cloud/project/779965 ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |