R-kableExtra-在包含字符串的单元格中以html格式插入换行符时出现问题

时间:2018-11-20 13:34:55

标签: r line-breaks kableextra

我想在文本单元格中插入换行符,但是不能。在下面的示例中,我想在字符串group 1.1group1.2

之间插入换行符

我试图阅读文档("Best Practice for newline in LaTeX table"),但无法解决问题

这是代码:

library(dplyr)
library(knitr)
library(kableExtra)

mydf <- data.frame(
  # group = rep(letters[1:4], each = 2),
  row = c(1:8),
  group = c("group 1.1 \n group1.2", "group 2", "group 3", "group 4", "group 5", "group 6", "group 7", "group 8")
)

mydf %>%
# mutate_all(linebreak) %>%
kable() %>%
   kable_styling()

如果我插入mutate_all(linebreak) %>%也不能解决问题

1 个答案:

答案 0 :(得分:1)

pdf

我可以通过设置kable(escape = FALSE)使它适用于pdf:

library(dplyr)
library(knitr)
library(kableExtra)

mydf <- data.frame(
  # group = rep(letters[1:4], each = 2),
  row = c(1:8),
  group = c("group 1.1\ngroup1.2", "group 2", "group 3", "group 4", "group 5", "group 6", "group 7", "group 8")
)

mydf %>%
  mutate_all(linebreak) %>%
  kable("latex", escape = FALSE) %>%
  kable_styling()

html

mydf <- data.frame(
  # group = rep(letters[1:4], each = 2),
  row = c(1:8),
  group = c("group 1.1<br>group1.2", "group 2", "group 3", "group 4", "group 5", "group 6", "group 7", "group 8")
)

mydf %>%
  kable("html", escape = FALSE) %>%
  kable_styling()

请参阅:Printing linebreaks in HTML kable table