在 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))
```
Run Code Online (Sandbox Code Playgroud)
在 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
Run Code Online (Sandbox Code Playgroud)
结果(表格部分)应该是:
有没有人知道如何解决这个问题?
如果你想要PDF输出,你应该将R对象转换为
前者有更多的格式选项,但后者要简单得多,并且可以进一步转换为 HTML 或 PDF(除了许多其他格式之外)。因此htmlTable,您可能想尝试一下kable或更强大的pander包,而不是该包:
---
title: "test"
output: pdf_document
---
```{r}
library(pander)
data_object <- data.frame(test = paste0('test', 1:4), test2 = 1:4)
pander(data_object)
```
Run Code Online (Sandbox Code Playgroud)
rmarkdown::render调用上述文档后得到以下 PDF :