假设我使用xtable
在.Rnw
文件中列出了knitr
个对象:
\begin{frame}[slide1]
<<echo=FALSE, results="asis">>=
library(xtable)
data(tli)
fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data = tli)
fm2 <- lm(tlimth ~ sex*ethnicty, data = tli)
xtabs<-list(xtable(fm1), xtable(fm2))
#print first table
print(xtabs[[1]])
@
\end{frame}
\begin{frame}[slide2]
<<echo=FALSE, results="asis">>=
#print second table
print(xtabs[[2]])
@
\end{frame}
因为在我的真实项目中,xtabs
是一个长度为&gt;的列表。 100,我想知道是否有办法包装`print(xtabs [[i]])&#39;在一个块中,以便在每张幻灯片中逐个打印相同的设置,例如:
\begin{frame}[slides]
<<echo=FALSE, results="asis">>=
library(xtable)
data(tli)
fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data = tli)
fm2 <- lm(tlimth ~ sex*ethnicty, data = tli)
xtabs<-list(xtable(fm1), xtable(fm2))
print(xtabs[[1]])
print(xtabs[[2]])
...
print(xtabs[[x]])
@
\end{frame}
答案 0 :(得分:1)
如果你包含allowframebreaks
选项,那么你可以将它们全部放入一个帧中,而beamer可以将它分成多个帧。您可能还希望通过包括\pagebreak<presentation>
可能是这样的:
\begin{frame}[allowframebreaks]
<<echo=FALSE, results="asis">>=
for(i in 1:n){
print(xtabs[[i]])
cat('\n\\pagebreak<presentation>\n')
}
@
\endframe
我通常使用markdown输入来编织,所以noweb可能需要一些不同的东西。但是使用markdown可能就像:
## Frame title goes here {.allowframebreaks}
```{r rblock, roptions}
#R code goes here
```
这对我有用。
答案 1 :(得分:0)
<<echo=FALSE, results='asis'>>=
for (i in 1:length(xtabs)) {
cat("\\begin{frame}[fragile]{Survival Analysis}\n")
print(xtabs[[i]], caption.placement="top")
cat("\\end{frame}\n")
}
@