我正在使用knit2html从R代码生成HTML报告。
一直试图使用kable / kableExtra来很好地打印表格,但似乎没有用。
我将使用这个简单的程序来演示,所有尝试打印出来的表都会产生相当粗糙的打印而不是很好的打印输出,就像我在一些教程中看到的那样(例如https://cran.r-project.org/web/packages/kableExtra/vignettes/awesome_table_in_html.html)
R程序:
#import "JSQMessages.h"
Rmd档案:
#!/usr/bin/Rscript
library(data.table)
library(knitr)
library(kableExtra)
test_data=data.table(a=c(1,2,3,4,5),
b=rep('a', 5),
c=rep(2.0, 5),
d=rep('a', 5),
e=rep(2.0, 5),
f=rep('a', 5),
g=rep(2.0, 5))
knit2html('test.Rmd')
结果html的屏幕截图:
我在这里错过了什么吗?
答案 0 :(得分:1)
使用rmarkdown::render()
代替knitr::knit2html()
。后者应该很久以前就退休了,并且只是出于历史原因而存在。具体来说,rmarkdown::render()
调用Pandoc转换Markdown输出,knitr::knit2html()
调用降价包。有关详细信息,请参阅this article。
答案 1 :(得分:0)
也许knit2html
没有引入自举?
如果从markdown本身进行渲染,则可以从kable_styling
得到漂亮的表:
```{r echo=FALSE}
library(data.table)
library(knitr)
library(kableExtra)
test_data=data.table(a=c(1,2,3,4,5),
b=rep('a', 5),
c=rep(2.0, 5),
d=rep('a', 5),
e=rep(2.0, 5),
f=rep('a', 5),
g=rep(2.0, 5))
```
```{r testprint1, echo=FALSE}
test_data
```
```{r testprint2, echo=FALSE}
kable(test_data)
```
```{r testprint3, echo=FALSE}
test_data %>% kable("html")
```
```{r testprint4, echo=FALSE}
test_data %>% kable("html") %>% kable_styling()
```