如何在 Kable 中居中右对齐的列文本?

How to center flushed-right column text in Kable?

我有一个包含字符和数字列的数据框。我正在尝试将字符列居中(已完成)和(我不知道如何)将右对齐数字列居中。此外,两个列名都居中:

一些相关帖子 ( and this),但我无法将这些技术(如果相关)合并到我的代码中。

以下代码生成下面的 table:

df <- data.frame(name = c("a", "bb", "ccc"), number = c(10, 193048, 200))

kable(df, format="latex", align = c("c", "r")) %>% 
  kable_styling(full_width = TRUE) %>% 
  row_spec(0, align = "c")

我知道我可以使用 LaTeX 代码生成单个用户自定义的 table。但我需要该示例在 Rmd 中可重现(假设我有很多 df),因此需要在 kable().

内指定

我应该修改 LaTeX table 环境(即 \begin{tabu} to \linewidth {>{\centering}X>{\centering}X})吗?如果是,如何在 R 中修改,或者使用 multirow 之类的东西来自定义第二列??

感谢来自this post的@Fran,回答如下:

df <- data.frame(name = c("a", "bb", "ccc"), number = c(10, 193048, 200))

kable(df,"latex", align="cr", booktabs = T, linesep = "") %>%
  kable_styling() %>%
  column_spec(1, width = "3em") %>%
  column_spec(2, width = "3em")