Pracuję raport z RStowndown i lateksem. Muszę wydrukować grupę tabel przy użyciu knitr::kable
, ale nie drukuj, gdy wewnątrz pętli for.R: dlaczego kable nie drukuje wewnątrz pętli for?
To jest mój kod:
---
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"))
}
```
To nie ma znaczenia, czy mogę używać results = "asis"
lub jeśli pominąć go całkowicie, drukuje nic do dokumentu.
Próbowałem załączając połączenia w obrębie print
rozmowy (print(kable(t2[[i]]...
) kable
, i to z powodzeniem drukuje wyjście do dokumentu, ale format jest ten sam format jak standardowy wierszu R (poprzedzonego ##
, na przykład) , co jest raczej brzydkie.
Jak wyświetlić tabele, inne niż ręcznie?
### EDIT ###
Niektóre Główni odpowiadający zostały przekierowane mi R knitr print in a loop jako duplikatu odpowiedź. To nie jest, ponieważ, jak stwierdzono w poprzednim akapicie, to skutecznie drukuje tabelę, , ale format nie jest oczekiwany. Przyjęta odpowiedź (i związana z nią wątek github) naprawdę rozwiązała problem.
Inne niż można opisać w swoim drugim do ostatniego akapitu, po wywołaniu 'print' Zrób sztuczkę. Przypuszczam, że zapomniałeś ustawić 'result =" asis "', kiedy próbowałeś tego. –
Możliwy duplikat [R knitr print in a loop] (http://stackoverflow.com/questions/28313600/r-knitr-print-in-a-loop) –