首页 > 解决方案 > 如何使用列标题中的希腊字母在 rmarkdown 中创建表格?

问题描述

我正在尝试使用 and 在 rmarkdown 中创建一个表,kable并且kableExtra我想在add_header_above函数中放入希腊字母。

kable(a, format = "latex", booktabs = T, longtable = T) %>% 
kable_styling() %>%
add_header_above(c("n", "$\\alpha$", "Estimates for $\\alpha$" = 4, 
"Estimates for $\\beta$" = 4), align = "l", escape = F)

这里

我尝试使用escape = Flike here,但它似乎不适用于希腊字母。

我希望在我的 rmarkdown 文档中使用这种样式的表格,并在列标题中使用希腊字母。kable有没有办法用甚至kableExtra用另一种方法来做到这一点?

我的数据:

a <- structure(list(c("5", "", "", "", ""), c(0.1, 0.25, 0.5, 1, 2
), MLE = c(0.0839, 0.2082, 0.4194, 0.8237, 1.6201), MME = c(0.0839, 
0.2082, 0.4194, 0.8234, 1.6147), UMLE = c(0.1048, 0.2602, 0.5242, 
1.0296, 2.0251), UMME = c(0.1048, 0.2602, 0.5242, 1.0293, 2.0183
), MLE = c(1, 1.0057, 1.0232, 1.0824, 1.2543), MME = c(1, 1.0057, 
1.0232, 1.0824, 1.2551), UMLE = c(0.9994, 1.0019, 1.0077, 1.0233, 
1.0456), UMME = c(0.9994, 1.0019, 1.0077, 1.0233, 1.0476)), .Names = c("", 
"", "MLE", "MME", "UMLE", "UMME", "MLE", "MME", "UMLE", "UMME"
), row.names = c(NA, 5L), class = "data.frame")

标签: rr-markdownknitrkable

解决方案


您只需要提供一些额外的转义。管道中的某些东西吃掉了\\字符,因此请\\\\改用:

kable(a, format = "latex", booktabs = TRUE, longtable = TRUE) %>% 
  kable_styling() %>%
  add_header_above(c("n", "$\\\\alpha$", "Estimates for $\\\\alpha$" = 4, 
                     "Estimates for $\\\\beta$" = 4), 
                   align = "l", escape = FALSE)

这给出了:

在此处输入图像描述

我也把你的TandF改成了TRUEand FALSE; 这在这里不是必需的,但它是很好的防御性编程。


推荐阅读