R knitr在循环中打印

时间:2015-02-04 04:38:10

标签: r loops knitr

我一直在使用xtable包从R矩阵中创建HTML表。当我在循环中使用函数kable时,它没有输出任何内容。所以我盯着使用print函数,它起作用了。问题是,当我使用print函数时,我会在表格HTML上打印很多“##”。有没有办法打印我的kable,但在循环中避免每行“##”?

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"')

1 个答案:

答案 0 :(得分:10)

你应该告诉大块按原样使用结果。

通过向您的块头添加results='asis'来执行此操作。

试试这个:

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

你应该

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