r - 更宽的枢轴 - 创建两个级别的标题以获得更好的可读性
问题描述
有六个回归模型。我使用了更宽的枢轴,但很难阅读。我可以使用两级标题 -
- 第一级 - 回归模型
- 第二级 - 估计,tstat
library(dplyr)
regression <- c(rep("A", 3), rep("B", 3), rep("C", 3), rep("D", 3), rep("E", 3), rep("F", 3))
attribute <- rep(c("b0", "b1", "b2"), 6)
estimate <- round(runif(n = 18, min = 0, max = 10), 2)
tstat <- round(runif(n = 18, min = 0, max = 10), 2)
# tibble
tbl <- tibble(regression, attribute, estimate, tstat)
# pivot wider
tbl <- tbl %>%
pivot_wider(names_from = regression,
values_from = c("estimate", "tstat"))
解决方案
一种选择separate_header
来自ftExtra
library(ftExtra)
library(dplyr)
library(tidyr)
library(stringr)
tbl %>%
pivot_wider(names_from = regression,
values_from = c("estimate", "tstat")) %>%
rename_with(~ str_replace(., "(.*)_(.*)", "\\2_\\1"), -1) %>%
as_flextable() %>%
separate_header()
-输出
或者可以使用span_header
library(flextable)
tbl %>%
pivot_wider(names_from = regression,
values_from = c("estimate", "tstat")) %>%
rename_with(~ str_replace(., "(.*)_(.*)", "\\2_\\1"), -1) %>%
select(attribute, order(str_remove(names(.)[-1], "_.*")) + 1) %>%
as_flextable() %>%
span_header() %>%
align(align = "center", part = "all")
如果我们需要将某些列加粗,
tbl %>%
pivot_wider(names_from = regression,
values_from = c("estimate", "tstat")) %>%
rename_with(~ str_replace(., "(.*)_(.*)", "\\2_\\1"), -1) %>%
mutate(across(ends_with('tstat'), ~sprintf('**%.2f**', .))) %>%
select(attribute, order(str_remove(names(.)[-1], "_.*")) + 1) %>%
as_flextable() %>%
span_header() %>%
align(align = "center", part = "all") %>%
colformat_md()
-输出
推荐阅读
- office-ui-fabric - 如何替换 UI Fabric DetailsList 组件中的复选框
- regex - 为什么我的 pcregrep 正则表达式中的积极前瞻不起作用?
- python - 类型错误:update() 缺少 1 个必需的位置参数:'self' [discord.Permissions.update()]
- python - 如何使用 pytest 测试一个简单的堆栈类
- wordpress - Wordpress - 为每个用户提供不同内容的网站
- javascript - 函数中没有定义google:geocoder = new google.maps.Geocoder()
- java - Java JUNIT 红条但不会告诉我错误?
- r - 将 GPS 点内插到 R 中的其他点集
- html - 使用 flex 使元素在垂直和水平方向居中的 CSS 问题
- amazon-web-services - 当发送给 AWS-SES 的电子邮件丢失时,我如何追查出了什么问题?