如何从 kable() 为表中的名称添加下标? [英] How can I subscript names in a table from kable()?
问题描述
给定一个data.frame A,我如何使用下标行和列名?最终我想通过 rmarkdown 中的 kable() 生成一个表格(输出:word 文档).
Given a data.frame A, how can I use subscripted rows and columns names? Eventually I want produce a table through kable() in rmarkdown (output: word document).
A <- data.frame(round(replicate(3, runif(2)),2))
rownames(A) <- c("Hola123", "Hola234")
A
X1 X2 X3
Hola123 0.47 0.55 0.66
Hola234 0.89 0.45 0.20
通过 kable(A) 创建表时,如何使行名和列名中的所有数字都带有下标?
How could I make all numbers from row and column names subscripted when creating a table through kable(A)?
我已经尝试过:
rownames(A) <- c(expression(Hola["123"]), expression(Hola["234"]))
names(A) <- c(expression(X["1"]), expression(X["2"]), expression(X["3"]))
但是在 .rmd 文件中通过 kable() 创建表时,它不会出现下标.
But it does not appears subscripted when creating the table through kable() in the .rmd file.
推荐答案
要在 rmarkdown 文档中添加下标,您可以在两个波浪号之间嵌入文本:text~sub~
.当使用函数 kable
时,表格中的任何文本都被识别为 Markdown 语法.所以你的 rmarkdown 代码应该是:
To add subscripts in a rmarkdown document, you can embed your text between two tilde: text~sub~
.
When using function kable
, any text in the table is recognized as markdown syntax. So that your rmarkdown code should be:
```{r}
A <- data.frame(round(replicate(3, runif(2)),2))
rownames(A) <- c("Hola~123~", "Hola~234~")
names(A) <- c("X~1~", "X~2~", "X~3~")
knitr::kable(A)
```
这篇关于如何从 kable() 为表中的名称添加下标?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!