2015-02-04 15 views
7

Używam pakietu xtable do tworzenia tabel HTML z macierzy R. Kiedy użyłem funkcji kable w pętli, nic nie wynikło. Więc patrzyłem, używając funkcji print, która zadziałała. Problem polega na tym, że kiedy używam funkcji drukowania, otrzymuję wiele "##" wydrukowanych wzdłuż HTML tabeli. Czy istnieje sposób na wydrukowanie mojego kable, ale unikanie "##" w linii w pętli?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

Nie przypisać wyjście albo Kable lub wydrukować do niczego. –

Odpowiedz

8

Powinieneś powiedzieć porcji, aby użyć wyników w obecnym stanie.

Należy to zrobić, dodając results='asis' do nagłówka porcji.

Spróbuj tego:

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

Powinieneś dostać

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

Dziękuję, Andrie, zadziałało! –