问题
Within rmarkdown (in RStudio) I use htmlTable package to generate nice looking tables in my html documents. Now I want the same result when rendering a pdf document. The tables aren't rendered properly. How can I let rmarkdown generate tables in my pdf document the same way it does in my html's?
This is a working example of a .Rmd file with a table:
---
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))
```
Click knit pdf in RStudio.
The result in my pdf-document is:
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
The result (of the table part) should be:
Does anyone have an idea about how to solve this?
回答1:
If you want PDF output, you should transform the R object to
- LaTeX or
- markdown
The prior has a lot more formatting options, but the latter is a lot simpler and can be converted further to either HTML or PDF (besides a bunch of other formats). So instead of the htmlTable
package, you might want to give a try to kable
or the more robust pander
package:
---
title: "test"
output: pdf_document
---
```{r}
library(pander)
data_object <- data.frame(test = paste0('test', 1:4), test2 = 1:4)
pander(data_object)
```
Resulting in the following PDF after calling rmarkdown::render
on the above document:
来源:https://stackoverflow.com/questions/33169464/how-to-render-table-from-htmltable-package-in-pdf-document-in-rmarkdown