2015-02-04 12 views
7

Ho utilizzato il pacchetto xtable per creare tabelle HTML da matrici R. Quando ho usato la funzione kable in un ciclo, non ha prodotto nulla. Così ho iniziato a utilizzare la funzione print, che funzionava. Il problema è che quando uso la funzione di stampa ottengo molti "##" stampati lungo la tabella HTML. C'è un modo per stampare il mio kable ma evitando il "##" per riga mentre si trova in un ciclo?R knitr print in a loop

library("xtable", lib.loc="~/R/win-library/3.1") 

for(i in 1:3) { 
    #Must use print because of the loop, but get ## per line 
    print(kable(head(cars), "html", table.attr='class="flat-table"')) 
} 
#No neded to use print, no ## printed per line 
kable(head(cars), "html", table.attr='class="flat-table"') 
+0

non è stato assegnato l'output di uno kable o stampare a qualsiasi cosa. –

risposta

8

Si dovrebbe dire al blocco di utilizzare i risultati così com'è.

Per fare ciò aggiungendo results='asis' all'intestazione del blocco.

Prova questo:

```{r, results='asis', echo=FALSE} 
library(knitr) 
library(xtable) 

for(i in 1:3) { 
    #Must use print because of the loop, but get ## per line 
    print(kable(head(cars), "html", table.attr='class="flat-table"')) 
} 
``` 

Si dovrebbe ottenere

speed dist 
4 2 
4 10 
7 4 
7 22 
8 16 
9 10 
+0

Grazie, Andrie, ha funzionato! –