2015-02-04 8 views
7

Ich habe das xtable-Paket verwendet, um HTML-Tabellen aus R-Matrizen zu erstellen. Wenn ich die Funktion kable in einer Schleife benutzte, gab es nichts aus. Also starrte ich mit der print Funktion, die funktionierte. Das Problem ist, dass, wenn ich die Druckfunktion verwende, ich viele "##" entlang der Tabelle HTML gedruckt bekomme. Gibt es eine Möglichkeit, mein Kable zu drucken, aber das "##" pro Zeile in einer Schleife zu vermeiden?R Knitr Print in einer Schleife

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

bekommen sollten Sie nicht die Ausgabe von entweder Kable zugewiesen haben oder etwas drucken. –

Antwort

8

Sie sollten den Brocken sagen Ergebnisse zu verwenden, wie sie ist.

Tun Sie dies, indem Sie results='asis' zu Ihrem Chunk-Header hinzufügen.

Try this:

```{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"')) 
} 
``` 

Sie

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

Danke Andrie, es hat funktioniert! –