【问题标题】:How to create table in rmarkdown using greek letters in column headers?如何使用列标题中的希腊字母在 rmarkdown 中创建表格?
【发布时间】:2018-10-07 08:01:28
【问题描述】:

我正在尝试使用kablekableExtra 在rmarkdown 中创建一个表,并且我想在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)

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

我希望我的 rmarkdown 文档中的表格样式在列标题中带有希腊字母。有没有办法用kablekableExtra 甚至用其他方法来做到这一点?

我的数据:

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")

【问题讨论】:

    标签: r r-markdown knitr kable


    【解决方案1】:

    您只需要提供一些额外的转义即可。管道中的某些内容占用了 \\ 字符,因此请改用 \\\\

    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)
    

    这给出了:

    我还将您的TF 更改为TRUEFALSE;这不是必需的 在这里,但它是很好的防御性编程。

    【讨论】:

    • 你的管道中有东西吃了 \\" 是什么意思? kableExtra 包默认使用 magrittr 的管道。你知道发生了什么吗?
    • 我的意思是你输入了反斜杠,但它们最后没有出来。大概是add_header_above 里的东西,但我没有追查到它发生在哪里。
    猜你喜欢
    • 2021-03-30
    • 1970-01-01
    • 2021-10-31
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    相关资源
    最近更新 更多