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 是必不可少的:否则您会看到将其设为粗体的代码,而不是粗体条目本身。