在Markdown PDF中,如何在for循环的每次迭代后添加分页符?

时间:2016-04-15 04:10:48

标签: r knitr r-markdown page-break

例如,如果我的数据框是:

 exampledf <- data.frame(column = c("exampletext1", "exampletext2",  "exmapletext3"))

我希望第一页有&#34; exampletext1&#34;,第二页有 &#34; exampletext2&#34;等

\pagebreak有效:

```{r, echo=FALSE}; exampledf[1,]```
   \pagebreak  
```{r, echo=FALSE} exampledf[2,]```

但是我的数据框太大而无法实现。

我真的需要遍历我的所有价值观:

for(i in 1:NROW(exampledf)) {
  single <- exampledf[i]
  strwrap(single, 70))
}

这是一个我意识到的奇怪问题。

1 个答案:

答案 0 :(得分:2)

您可以将\\newpage放在cat函数中,以便在每次循环迭代后添加分页符。块还需要具有参数results="asis"。例如,这样的事情对你有用:

```{r echo=FALSE, results="asis", warning=FALSE}
library(xtable)

exampledf <- data.frame(column = c("exampletext1", "exampletext2",  "exmapletext3"))

for (i in 1:nrow(exampledf)) {

  # Just added this as another way of displaying a row of data
  print(xtable(exampledf[i, , drop=FALSE]), comment=FALSE)

  print(strwrap(exampledf[i,], 70))

  cat("\n\\newpage\n")

}

```