将 col 名称和 headers(上图)设置为 R markdown 中带有 knitr、kableExtra 和 Latex 的表格的怪异字符
Set col names and headers (above) to weird characters for tables with knitr, kableExtra and Latex in R markdown
我正在尝试根据钻石数据集在 Rmarkdown(for pdf)中创建一个 table,我想更改一些列名和列名上方的 headers,我会想知道如何将一些 headers 设置为斜体或粗体,而一些 headers 应该是一个符号(如部分 eta 平方的符号)或一个完整的公式。我已经将我的 R 代码(并且我已经安装了 Latex)包含在 table 作为图片(尚未调整)。
```{r setup, include=FALSE}
setwd("~/Desktop/Tables")
knitr::opts_chunk$set(echo = FALSE)
# global options
options(knitr.table.format = "latex")
# show space instead of NA in tables
options(knitr.kable.NA = '')
library(tidyverse)
library(knitr)
library(kableExtra)
df = diamonds
```
```{r message=FALSE, warning=FALSE}
df_table = df %>%
summarise(avg = round(mean(price), 2),
sd = round(sd(price), 2),
n = n(),
range = round(max(price), 2)) %>%
mutate(grouping = "Total") %>%
select(grouping, avg, sd, n, range) %>%
bind_rows(df %>%
group_by(cut) %>%
summarise(avg = round(mean(price), 2),
sd = round(sd(price), 2),
n = n(),
range = round(max(price), 2)) %>%
mutate(grouping = as.character(cut)) %>%
select(grouping, avg, sd, n, range))
kable(df_table,
booktabs = TRUE,
linesep = "",
col.names = c("Grouping", "M in italic", "SD in italic", "N not
italic", "some weird formula for the range" )) %>%
kable_styling(latex_options = c("HOLD_position", "scale_down")) %>%
add_header_above(c(" " = 1, "the formula for the variance" = 4))
```
在调用 kable
和 add_header_above
时设置 escape = FALSE
并在列标题中使用 LaTeX。我应该承认,究竟应该添加多少反斜杠才能获得所需的结果对我来说是个谜。
kable(df_table,
booktabs = TRUE,
linesep = "",
col.names = c("Grouping", "$M$", "$SD$", "N", "$\eta$"), escape = FALSE) %>%
kable_styling(latex_options = c("HOLD_position", "scale_down")) %>%
add_header_above(c(" " = 1, "$\\operatorname{Var}[X]$" = 4), escape = FALSE)
我正在尝试根据钻石数据集在 Rmarkdown(for pdf)中创建一个 table,我想更改一些列名和列名上方的 headers,我会想知道如何将一些 headers 设置为斜体或粗体,而一些 headers 应该是一个符号(如部分 eta 平方的符号)或一个完整的公式。我已经将我的 R 代码(并且我已经安装了 Latex)包含在 table 作为图片(尚未调整)。
```{r setup, include=FALSE}
setwd("~/Desktop/Tables")
knitr::opts_chunk$set(echo = FALSE)
# global options
options(knitr.table.format = "latex")
# show space instead of NA in tables
options(knitr.kable.NA = '')
library(tidyverse)
library(knitr)
library(kableExtra)
df = diamonds
```
```{r message=FALSE, warning=FALSE}
df_table = df %>%
summarise(avg = round(mean(price), 2),
sd = round(sd(price), 2),
n = n(),
range = round(max(price), 2)) %>%
mutate(grouping = "Total") %>%
select(grouping, avg, sd, n, range) %>%
bind_rows(df %>%
group_by(cut) %>%
summarise(avg = round(mean(price), 2),
sd = round(sd(price), 2),
n = n(),
range = round(max(price), 2)) %>%
mutate(grouping = as.character(cut)) %>%
select(grouping, avg, sd, n, range))
kable(df_table,
booktabs = TRUE,
linesep = "",
col.names = c("Grouping", "M in italic", "SD in italic", "N not
italic", "some weird formula for the range" )) %>%
kable_styling(latex_options = c("HOLD_position", "scale_down")) %>%
add_header_above(c(" " = 1, "the formula for the variance" = 4))
```
在调用 kable
和 add_header_above
时设置 escape = FALSE
并在列标题中使用 LaTeX。我应该承认,究竟应该添加多少反斜杠才能获得所需的结果对我来说是个谜。
kable(df_table,
booktabs = TRUE,
linesep = "",
col.names = c("Grouping", "$M$", "$SD$", "N", "$\eta$"), escape = FALSE) %>%
kable_styling(latex_options = c("HOLD_position", "scale_down")) %>%
add_header_above(c(" " = 1, "$\\operatorname{Var}[X]$" = 4), escape = FALSE)