【问题标题】:knitr: exporting to html file but keeping styleknitr:导出到 html 文件但保持样式
【发布时间】:2018-05-11 16:33:13
【问题描述】:

我刚刚在 R 中发现了很棒的 knitr 库,当查看 viewer 中的结果时,它看起来不错。但是,当我将其写入 html 文件时,样式会丢失。

代码

library(knitr)
library(kableExtra)

some.table <- 
  data.frame (
    x = rep(1,3),
    y = rep(1,3)
  )

some.table

x <- kable(some.table, format = "html") %>%
  kable_styling(bootstrap_options = "striped", full_width = F, position = "left")

x

file <- file('test.html')
write(x, file)

查看器中的表格

浏览器中的表格

如何将相同样式的表格导出为html文件? 注意,我在 html 文件中有更多数据,所以我应该能够附加它。


对评论的回应
用户:@Hao
当我在 Rstudio 查看器中使用 'inspect element' 时,我可以找到指向样式表的链接:

但是这里的代码似乎很大,因为它是582.298 个字符。

【问题讨论】:

  • 您需要将相应的 CSS 附加到 HTML 文件中。我可以在下一个版本中添加一个功能。应该很容易。
  • 你能否详细说明我应该如何做到这一点(即我可以在哪里找到相应的css文件)@Hao
  • 查看我的问题编辑:回复 cmets @Hao

标签: css r knitr kable kableextra


【解决方案1】:

执行此操作的典型方法是将代码放入 rmarkdown 文档中。它会为你处理一切。

您需要使用 save_kable 函数 kableExtra 的唯一情况是您有很多表并且您希望将它们保存为片段。在这种情况下,您可以使用

library(kableExtra)
cars %>%
  kable() %>%
  kable_styling() %>%
  save_kable()

【讨论】:

  • 不错!但是有一个问题,我想将它附加到现有的 html 文件中,以便可以在表格上方和下方添加一些文本,我应该为此调整代码吗?因为 save_kable() 会覆盖它
  • 现有文件是如何生成的?将所有内容放入 R Markdown 文档是推荐的方法,但如果 HTML 以其他方式出现,您仍然可以将此表放入 html_fragment 并将其复制到网页中。
  • @user2554330 在我阅读了 po 的 cmets 之后,我意识到我有点误解了这个问题。如果您需要在表格中添加文本等,我建议您也使用 rmarkdown,因为它为您提供了一个非常灵活的环境来表达自己,而 kableExtra 实际上就是为此而构建的。我将编辑我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-06
  • 2013-08-30
  • 1970-01-01
  • 2014-12-30
相关资源
最近更新 更多