如何在flextable中基于tstat对estimate值做条件加粗或着色
实现方法
完全可以实现,flextable内置的格式设置函数原生支持按条件筛选单元格设置样式,你可以直接在现有代码基础上追加逻辑实现需求。
仅条件加粗实现代码
你要的tstat大于1.96时对应estimate值加粗的效果,只需要调用bold()函数指定行筛选条件和目标列即可:
library(dplyr) library(flextable) attribute <- c("b0", "b1", "b2", "b3", "b4", "b5") estimate <- round(runif(n = 6, min = 0, max = 5), 2) tstat <- round(runif(n = 6, min = 0, max = 5), 2) # 生成基础表格 tbl <- tibble(attribute, estimate, tstat) %>% as_flextable() %>% # 条件加粗逻辑 bold( i = ~ tstat > 1.96, j = "estimate" ) # 查看效果 tbl
附加条件着色实现
如果需要同时给符合条件的estimate值设置颜色,追加color()函数即可:
tbl <- tbl %>% color( i = ~ tstat > 1.96, j = "estimate", color = "red" # 支持自定义色值、十六进制颜色码 )
参数说明
i参数:支持公式语法直接写行筛选条件,也可以传入符合条件的行号向量j参数:支持传入列名、列位置数字,也可以传入向量同时设置多个列的格式- 多条件规则可以多次调用格式函数叠加生效
内容的提问来源于stack exchange,提问作者SiH
相关产品推荐
相关产品推荐

