【问题标题】:R markdown: nice way to show a long text in a html tableR markdown:在 html 表格中显示长文本的好方法
【发布时间】:2020-01-28 17:50:14
【问题描述】:

假设我想在 R markdown 文件中显示此表:

test.df <- data.frame(A = 'test', B = 'wow', C = paste0(1:10000, collapse = ', '))
kable_styling(kable( test.df, caption="test df" ))

但是,这会使 C 列变得巨大,当我将其导出到 html 文件时看起来很难看,尤其是在有更多行的情况下。

有没有办法调整样式让表格看起来更整洁,例如:

  • 在带有滚动条的文本框中显示列C,该滚动条定义了width x height
  • 使C 列中的文本在用户单击“展开”之类的内容时折叠并可见
  • 欢迎提出其他建议 ;)

【问题讨论】:

  • 我很想知道您收到了哪些回复。您会考虑使用DT::datatable 并添加一个按钮来显示/隐藏列(ColVis 扩展名)吗?
  • @Ben Yeah 也可能是个不错的选择

标签: css r r-markdown knitr kable


【解决方案1】:

也许最直接的解决方案是使用 CSS。

kableExtra::cell_spec() 函数可用于将单元格内容嵌入span 元素中。将此 span 显示为块并设置宽度和高度应该足以添加滚动条。

这是一个可重现的例子:

---
output: html_document
---

```{r, echo=FALSE, message=FALSE}
test.df <- data.frame(A = 'test', B = 'wow', C = paste0(1:10000, collapse = ', '))
test.df$C <- kableExtra::cell_spec(
  test.df$C, 
  extra_css = "display: block; overflow: scroll; height: 5em; width: 20em;"
)

kableExtra::kable_styling(knitr::kable(test.df, caption="test df", escape = FALSE))
```

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 2010-11-22
    • 2019-10-22
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    相关资源
    最近更新 更多