kableExtra:如何设置行的最大值为粗体?
kableExtra : How can i set to bold the biggest value of the row?
假设我有一个 table 看起来像:
x = matrix(runif(10*5),nrow=10,ncol=5)
当我使用 kableextra
显示矩阵时,我希望 每行的最高值,比如最后 2 行,加粗。
我看了这篇文档 https://rdrr.io/cran/kableExtra/f/inst/doc/awesome_table_in_pdf.pdf 很多,但我没有找到如何正确使用 cell_spec 来实现这个目标。
我原以为这会比结果更容易。据我所知,这是怎么做的:
---
title: "Untitled"
output: pdf_document
---
```{r}
set.seed(123)
library(knitr)
library(kableExtra)
x <- matrix(round(runif(10*5),2), nrow=10,ncol=5)
j1 <- which.max(x[9,])
j2 <- which.max(x[10,])
col <- seq_len(ncol(x))
x[9,] <- x[9,] %>% cell_spec(bold = col == j1)
x[10,] <- x[10,] %>% cell_spec(bold = col == j2)
x %>% kable(booktabs = TRUE, escape = FALSE)
```
一些注意事项:
- 我对值进行了四舍五入,这样打印时就不会那么难看。
- 我看不出有一种方法可以在一个管道中完成所有事情,尽管可能有一个。问题是
cell_spec
设计用于向量,而不是矩阵。
- 最后,
kable()
中的 escape = FALSE
是必不可少的:否则您会看到将其设为粗体的代码,而不是粗体条目本身。
假设我有一个 table 看起来像:
x = matrix(runif(10*5),nrow=10,ncol=5)
当我使用 kableextra
显示矩阵时,我希望 每行的最高值,比如最后 2 行,加粗。
我看了这篇文档 https://rdrr.io/cran/kableExtra/f/inst/doc/awesome_table_in_pdf.pdf 很多,但我没有找到如何正确使用 cell_spec 来实现这个目标。
我原以为这会比结果更容易。据我所知,这是怎么做的:
---
title: "Untitled"
output: pdf_document
---
```{r}
set.seed(123)
library(knitr)
library(kableExtra)
x <- matrix(round(runif(10*5),2), nrow=10,ncol=5)
j1 <- which.max(x[9,])
j2 <- which.max(x[10,])
col <- seq_len(ncol(x))
x[9,] <- x[9,] %>% cell_spec(bold = col == j1)
x[10,] <- x[10,] %>% cell_spec(bold = col == j2)
x %>% kable(booktabs = TRUE, escape = FALSE)
```
一些注意事项:
- 我对值进行了四舍五入,这样打印时就不会那么难看。
- 我看不出有一种方法可以在一个管道中完成所有事情,尽管可能有一个。问题是
cell_spec
设计用于向量,而不是矩阵。 - 最后,
kable()
中的escape = FALSE
是必不可少的:否则您会看到将其设为粗体的代码,而不是粗体条目本身。