R: por que o kable não imprime dentro de um loop for?
Estou trabalhando em um relatório com rmarkdown e latex. Preciso imprimir um grupo de tabelas usandoknitr::kable
, mas não imprime quando dentro de um loop for.
Este é o meu código:
---
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"))
}
```
Não importa se eu usoresults = "asis"
ou se eu omiti-lo completamente,nada imprime no documento.
Eu tentei encerrar okable
ligar dentro de umprint
ligar (print(kable(t2[[i]]...
) e imprime com êxito a saída no documento, mas o formato é o mesmo formato de um prompt R padrão (precedido por##
, por exemplo), que é bastante feio.
Como posso exibir as tabelas, exceto manualmente?
### EDIT ###
Alguns atendentes me redirecionaram paraR knitr imprimir em um loop como uma resposta duplicada.Não é, porque, como afirmei no parágrafo anterior, isso efetivamente imprime a tabela,mas o formato não é o esperado. A resposta aceita (e o tópico relacionado ao github) realmente resolveu o problema.