在R Markdown中将数据框显示为表格

时间:2015-10-24 14:45:15

标签: r format r-markdown knitr

knitr 中,我想使用kable包将(小)数据框添加为表格:

---
output: html_document
---

```{r}
knitr::kable(mtcars[1:5,1:5], format="html")
```

enter image description here

这会返回一个如上所示的紧凑表,而将其更改为format="markdown"会返回一个漂亮的表,但会跨越整个页面:

enter image description here

我找到了knitr manual,但它没有涵盖每种格式的额外格式选项。如何更改 knitr 表的大小甚至更好,我在哪里可以获取此信息?

1 个答案:

答案 0 :(得分:12)

一般方法是使用您自己的自定义CSS并将其包含在文档开头的YAML中。

您实际上可以在文档中执行此操作,但我建议您在文档之外编辑CSS并从那里开始工作。

这是一个最小的例子:

---
title: "Test"
date: "24 October 2015"
output: 
  html_document:
    css: mystyle.css
---

```{r, results='asis'}
writeLines("td, th { padding : 6px } th { background-color : brown ; color : white; border : 1px solid white; } td { color : brown ; border : 1px solid brown }", con = "mystyle.css")
dset1 <- head(ToothGrowth)
knitr::kable(dset1, format = "html")
```

这应该:

  1. 创建一个名为&#34; mystyle.css&#34;的文件。使用相关的CSS样式。
  2. 制作类似于以下内容的内容。
  3. enter image description here