我正在與rmarkdown和乳膠一起工作。我需要使用knitr::kable
打印一組表格,但在for循環內不打印。R:爲什麼kable不能在for循環中打印?
這是我的代碼:
---
title: "project title"
author: "Mr. Author"
date: "2016-08-30"
output:
pdf_document:
latex_engine: xelatex
bibliography: biblio.bib
header-includes:
- \usepackage{tcolorbox}
---
Text and chunks that run ok.
```{r loadLibraries}
require(data.table)
require(knitr)
```
## Try to print a group of tables from split
```{r results = "asis"}
t1 <- data.table(a = sample(letters, 10, T), b = sample(LETTERS[1:3], 10, T))
t2 <- split(t1, t1$b)
for (i in 1:length(t2)){
kable(t2[[i]], col.names = c("A", "B"))
}
```
如果我使用results = "asis"
或者如果我完全忽略它的不要緊,沒有打印到文檔。
我試圖包圍print
呼叫(print(kable(t2[[i]]...
)內的kable
呼叫,並將其成功地打印輸出的文件中,但該格式是相同的格式標準的R提示(由##
之前,例如) ,這相當醜陋。
如何手動顯示錶格?
###編輯###
一些應答者已重定向我R knitr print in a loop爲重複的答案。 這不是,因爲正如我在前一段所述,這有效地打印了表格,但格式不是預期的格式。接受的答案(和相關的github線程)確實解決了這個問題。
除了你在你的第二個到最後一段,'print'呼叫描述做的伎倆。我想你在嘗試這個時忘了設置'results =「asis」'。 –
[R knitr print in a loop]的可能重複(http://stackoverflow.com/questions/28313600/r-knitr-print-in-a-loop) –