2015-10-16 63 views
4

在rmarkdown(在RStudio中)我使用htmlTable包在我的html文档中生成漂亮的表格。现在我想在渲染PDF文档时得到相同的结果。表格无法正确呈现。我怎样才能让我的pdf文档中的表格生成表格,就像它在我的html中一样?如何从pdfmark文件中的html表格渲染表格?

这是一个表.Rmd文件的工作例如:在RStudio

--- 
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)) 
``` 

点击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

有谁有关于如何解决这个想法?

回答

2

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

  • 乳胶或
  • 降价

现有有很多更多的格式选项,但后者是很多更简单,可以进一步转换为HTML或PDF(除了一堆其他格式)。所以代替htmlTable包,你可能想给一个尝试kable或更强大的pander包:

enter image description here

:上述文件,要求 rmarkdown::render

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

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

在下面的PDF得到的

+1

感谢您的回答。我会尝试一下,尽管这不是我具体答案的答案。你确定在渲染pdf之前没有办法将我的html更改为markdown? – rdatasculptor

+0

当然,你可以使用例如'pandoc'(与RStudio/rmarkdown/pander使用非常相似的文档转换器来生成markdown中的HTML/PDF文件)以将HTML转换为PDF:http://pandoc.org/ README.html - 但它用于HTML文件而不是代码块。 – daroczig