R chunk中的Eval LaTeX代码(Knitr)

时间:2016-07-12 09:39:38

标签: r latex knitr

我实际上正在创建一个闪亮的应用程序。在该应用程序中,有一个下载按钮,用于下载取决于用户输入的PDF文件。

所以我使用.rnw文件来生成该PDF文档。我只想做一个表(带表格),其中有一些行取决于app用户的输入。

所以在我的R chunck中,我想做类似的事情:

\begin{tabular}{c|c}

<<echo=FALSE>>=
for (index in 1:nrow(myData))
{
   SomethingThatRunLaTeXCode(paste0("\hline ",
  "\Sexpr{",myData[index,1],"}"," % ","\Sexpr{",myData[index,2],"}"))
}
\hline
\end{tabular}
@

1 个答案:

答案 0 :(得分:1)

正如sebastian-c所建议的,制作这样一个表的更好方法是将xtable包与Knitr一起使用。要使Knitr块理解TeX,请使用块选项results='asis'

由于您的数据是data.frame,因此很简单:

<<echo = FALSE, results = "asis">>= 

## test data
set.seed(1)
df <- data.frame(Gaussian = rnorm(10), Exponential = rexp(10))

library(xtable)
cap = paste("My caption can span multiple lines and",
            "can be arbitrarily long.")
xtable(df,caption = cap)
@

要进行完全自定义,请使用print.xtable对象上的xtable功能。

<<echo = FALSE, results = "asis">>=
print.xtable(xtable(df),table.placement = "")
@