r - 使用 kable 对具有相同名称的子列的列进行分组
r - use kable to group columns with sub columns having the same name
我正在尝试使用 kable
和 kableextra
创建一个 table,它具有不同的分组 headers 但 sub-headers 中的列名称相同
例如,如果您查看 Create Awesome LaTeX Table with knitr::kable andkableExtra 的 "Grouped Columns/Headers" 部分(第 14 页),它已分组但 sub-header 名称不同:
library(knitr)
library(kableExtra)
dt <- mtcars[1:5, 1:6]
kable(dt, "latex", booktabs = T) %>%
kable_styling() %>%
add_header_above(c(" " = 1, "Group 1" = 2, "Group 2" = 2, "Group 3" = 2))
我想做的是将汽车分组(例如仅使用两辆汽车):
Mazda RX4 | Datsun 710
----------------------
mpg | cyl | mpg | cyl
----------------------
21.0| 6 | 21.4| 6
或者另一个例子:
Group 1 | Group 2
------------------
x | y | x | y
------------------
a | 1 | b | 2
c | 3 | d | 4
这可能吗?
我遇到了同样的问题。希望这会有所帮助:
编辑: 将答案更改为 HTML table 但逻辑仍然存在!
library(kableExtra)
library(tidyverse)
library(knitr)
df <- tibble('mpg_Mazda_RX4' = 21,
'cyl_Mazda_RX4' = 6,
'mpg_Datsun_710' = 21.4,
'cyl_Datsun_710' = 6)
kable(df,
"html",
booktabs = T,
align = c("r"),
col.names = c("mpg","cyl","mpg","cyl")) %>%
kable_styling("striped", full_width = F,
position = "left", font_size = 12) %>%
add_header_above(c("Mazda RX4" = 2, "Datsun 710" = 2))
您必须将列名直接传递给 kable(不更改数据框列名)。
结果:
我正在尝试使用 kable
和 kableextra
创建一个 table,它具有不同的分组 headers 但 sub-headers 中的列名称相同
例如,如果您查看 Create Awesome LaTeX Table with knitr::kable andkableExtra 的 "Grouped Columns/Headers" 部分(第 14 页),它已分组但 sub-header 名称不同:
library(knitr)
library(kableExtra)
dt <- mtcars[1:5, 1:6]
kable(dt, "latex", booktabs = T) %>%
kable_styling() %>%
add_header_above(c(" " = 1, "Group 1" = 2, "Group 2" = 2, "Group 3" = 2))
我想做的是将汽车分组(例如仅使用两辆汽车):
Mazda RX4 | Datsun 710
----------------------
mpg | cyl | mpg | cyl
----------------------
21.0| 6 | 21.4| 6
或者另一个例子:
Group 1 | Group 2
------------------
x | y | x | y
------------------
a | 1 | b | 2
c | 3 | d | 4
这可能吗?
我遇到了同样的问题。希望这会有所帮助:
编辑: 将答案更改为 HTML table 但逻辑仍然存在!
library(kableExtra)
library(tidyverse)
library(knitr)
df <- tibble('mpg_Mazda_RX4' = 21,
'cyl_Mazda_RX4' = 6,
'mpg_Datsun_710' = 21.4,
'cyl_Datsun_710' = 6)
kable(df,
"html",
booktabs = T,
align = c("r"),
col.names = c("mpg","cyl","mpg","cyl")) %>%
kable_styling("striped", full_width = F,
position = "left", font_size = 12) %>%
add_header_above(c("Mazda RX4" = 2, "Datsun 710" = 2))
您必须将列名直接传递给 kable(不更改数据框列名)。
结果: