R 将 table 内容与 kable 中的小数点对齐
R Aligning table content to decimal points in kable
我用 knitr
和 kableExtra
包在 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")
```
我用 knitr
和 kableExtra
包在 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")
```