r - 如何在rmarkdown中的pdf_document中渲染htmlTable包中的表格?

标签 r pdf r-markdown

在 rmarkdown(在 RStudio 中)中,我使用 htmlTable 包在 html 文档中生成漂亮的表格。现在我想要在渲染 pdf 文档时得到相同的结果。表格未正确呈现。如何让 rmarkdown 在我的 pdf 文档中生成表格,就像在 html 文档中生成表格一样?

这是带有表格的 .Rmd 文件的工作示例:

---
title: "test"
output: pdf_document
---

```{r results="asis"}
library(htmlTable)
c1 <- c("test1","test1","test2","test2")
c2 <- c(1,2,3,4)
data_object <- as.data.frame(cbind(c1,c2))
names(data_object) <- c("test","test2")
print(htmlTable(data_object))
```

在 RStudio 中单击 knit pdf。

我的 pdf 文档中的结果是:

test
library(htmlTable)
c1 <- c("test1","test1","test2","test2")
c2 <- c(1,2,3,4)
data_object <- as.data.frame(cbind(c1,c2))
names(data_object) <- c("test","test2")
print(htmlTable(data_object))
test
test2
1
1
1
2
1
2
3
2
3
4
2
4
1

结果(表格部分)应该是:

enter image description here

有人知道如何解决这个问题吗?

最佳答案

如果你想要PDF输出,你应该将R对象转换为

  • latex 或
  • Markdown

前者有更多的格式选项,但后者要简单得多,并且可以进一步转换为 HTML 或 PDF(除了一堆其他格式)。因此,您可能想尝试一下 kable 或更强大的 pander 包,而不是 htmlTable 包:

---
title: "test"
output: pdf_document
---

```{r}
library(pander)
data_object <- data.frame(test = paste0('test', 1:4), test2 = 1:4)
pander(data_object)
```

在上述文档上调用 rmarkdown::render 后生成以下 PDF:

enter image description here

关于r - 如何在rmarkdown中的pdf_document中渲染htmlTable包中的表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33169464/

相关文章:

r - 聚合随机采样的列以迭代更大的 bin 大小

r - 如何加速R for循环?

R 给定相同维度数据表的列表,生成每个单元格均值的汇总

html - 如何减小jspdf文档中pdf的大小

r - 将多个框架选项传递给 rmarkdown::beamer_presentation 中的单个框架

r - 需要分段线性回归的 R 包吗?

java - 如何使用itext和java将pdf中的图像(rgb/gray)转换为单色/黑白图像

html - 将 HTML 页面打印为 PDF 时,如何使图像以正确的比例显示?

latex - 在 RMarkdown 表中引用

r - 在 knitr/rmarkdown 中绘制为 png