代码之家  ›  专栏  ›  技术社区  ›  ecjb

r-cableextra-在包含字符串的单元格中插入HTML格式的换行符时出现问题

  •  0
  • ecjb  · 技术社区  · 6 年前

    我想在文本单元格中插入换行符,但不能。在下面的示例中,我想在字符串之间插入换行符 group 1.1 group1.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 回复  |  直到 6 年前
        1
  •  1
  •   jsta    6 年前

    PDF

    我通过设置 kable(escape = FALSE) :

    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