R语言输格式技巧系列(二),再精细一点,定制包含亚组的表格
本系列第二篇
R语言
医学统计
统计分析
三线表
主角还是flextable这个包,还是定制表格,本期在上回的基础上再介绍一些
其他的功能,错过了上期的筒子们请先阅读上期内容,这样会有利于理解。
上期内容链接在此:
正文上菜!
输入:
library(readxl)dt <- read_excel('自编的示例数据.xlsx')library(flextable)# 为了方便展示,对数据随机抽取10行,作为本期所用的数据dt_sampledt_g <- as_grouped_data(x = dt_sample, groups = c("Group")) # 数据分组myft <- as_flextable(dt_g) # 转为flextable格式myft <- add_footer_lines(myft,values = c("a:是非成败转头空","b:惯看秋月春风")) # 加注释myft <- add_header_lines(myft,values = c("包含group的表格")) # 加注释myft <- compose(myft,j = 2,part = "header",value = as_paragraph("年龄",as_sup("a"))) # 加上标myft <- compose(myft,i = 3,j = 3,part = "body",value = as_paragraph("是",as_sub("b"))) # 加下标myft <- color(myft,j = 3,color = "red",part = "header") # 指定列变色myft <- bold(myft,i = c(1,6),bold = TRUE,part = "body")myft <- set_formatter(x = myft,ALT = function(x) sprintf("%.02f", x),检测 = function(x) sprintf("%.01f", x)) # 修改指定数值列的小数点位数myft <- align(myft,i = c(2:5,7:12),align = "center",part = "body") # 居中对齐myft <- hline(myft,i = 5,part = 'body',border = fp_border(color="gray")) # 组间加条线myft <- bg(myft,bg = "orange", part = "header") # 设置header背景色myft <- bg(myft,bg = "skyblue", part = "body") # 设置body背景色myft <- bg(myft,bg = "lightgreen", part = "footer") # 设置footer背景色myft <- width(myft,j = 3:5,width = 1) # 指定某些列的宽度myft
输出:
以上内容仅供学习参考。
往期精彩干货文章链接
