r - 在 HTML kable 表中打印换行符

标签 r r-markdown knitr

使用 kable 创建表时, 有没有办法在 data.frame ' < br > 中的字符串时生成换行符(即 dt')有\n

例如,这里:

library(data.table); 
dt <- fread("https://s3.amazonaws.com/assets.datacamp.com/blog_assets/prince_raw_data.csv")
dt <- dt[301:303,2:6] #take three songs only

library(knitr); library(kableExtra)
kable(dt);
# use this line to view it:   dt %>% kable %>% kable_styling()

enter image description here

这与 Automated nicely formated book of lyrics from data.frame using markdown, knitr and glue 有关:

最佳答案

由于文本字符串包含格式为 \n 的换行符,您可以将所有这些替换为等效的 HTML 标记 <br> .我更喜欢使用 str_replace_all来自包裹 stringr但你也可以考虑使用 gsub从基地 R

这是一个可重现的例子:

---
output: html_document
---

```{r}
library(stringr)


dt <- data.frame(text = c("Here is some sample text \nHere is some sample text\n", 
                          "Here is more sample text \nAgain with a linebreak"),
                 name = c("Name 1", "Name 2"))
dt$text <- stringr::str_replace_all(dt$text, "\\n", "<br>")

knitr::kable(dt)
```

enter image description here

如果您不将文件编译为 HTML R Markdown 输出,您也可以使用 dt %>% kable(format = "html",escape = FALSE) %>% kable_styling()显示它。注意 escape=FALSE防止换行符被弄乱。

关于r - 在 HTML kable 表中打印换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51312934/

相关文章:

r - tsoutliers 依赖问题 : dependency KFKSDS has non-zero exit status?

rMarkdown : change fontsize for Beamer

r - 在 Rmarkdown 的 YAML header 中设置数字的标题字体大小

python - 如何使 python 变量在 Markdown 笔记本中的 block 之间保持不变?

markdown - Rmarkdown PDF 的左对齐 YAML 标题

r - 在knitr中抑制readOGR消息

r - 使用变量指定 `data.table` 范围内的列名

r - 如何将条形图中的 Y 轴数字更改为百分比?

r - R data.table `.BY` 运算符如何使用?

R Markdown 中的 rChart 不呈现