R 将 table 内容与 kable 中的小数点对齐

R Aligning table content to decimal points in kable

我用 knitrkableExtra 包在 RMarkdwon (PDF) 中创建了一个 table。 我可以在 kable 函数中选择左对齐、居中对齐或右对齐。 但我希望 table 单元格的内容与小数点对齐。 在这种情况下,这很困难,因为数字后面有星号表示重要性。 这是一个可重现的例子:

library(tidyverse)
library(knitr)
library(kableExtra)

tribble(
  ~Variable_1,~Variable_2,
  "13.5","4.4**",
  "12.7***","1.2*",
  "0.4","0.3***",
  "2.3**","11.5**"
)%>%
  kable(format = "latex", booktabs=T, escape = T)%>%
  kable_styling(position = "center", latex_options = "hold_position")

产生这个 table:

有人可以直接在 R 中给我一个简单的解决方案吗?

如果这不可能,乳胶代码中的编辑会是什么样子?

非常感谢!


这里是bttomio提供的table:


一个解决方案是在 https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf 第 28 页推荐的 {} 中插入变量名。

代码如下所示:

tribble(
  ~Variable_1,~Variable_2,
  "13.5","4.4**",
  "12.7***","1.2*",
  "0.4","0.3***",
  "2.3**","11.5**"
)%>%
  rename_all( ~ str_c("{ ",.," }"))%>%
  kable(format = "latex", booktabs=T, escape = T)%>%
  kable_styling(position = "center", latex_options = "hold_position")

而 table 对应于所需的输出:

但问题出在kable_styling-函数中的full-width-选项。如果我将此选项设置为 TRUE,大列名的换行符就会消失。

这是第一次尝试:

---
output: pdf_document
header-includes:
  - '\usepackage{siunitx}'
  - '\newcolumntype{d}{S[table-format=3.2]}'
---

```{r}
library(tidyverse)
library(knitr)
library(kableExtra)

tribble(
  ~Variable_1,~Variable_2,
  "13.5","4.4**",
  "12.7***","1.2*",
  "0.4","0.3***",
  "2.3**","11.5**"
)%>%
  kable(format = "latex", booktabs=T, escape = T, align = "d")%>%
  kable_styling(position = "center", latex_options = "hold_position")
```