如何在 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")
我有一个包含字符和数字列的数据框。我正在尝试将字符列居中(已完成)和(我不知道如何)将右对齐数字列居中。此外,两个列名都居中:
一些相关帖子 (
以下代码生成下面的 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")