在kable()中包含长行以用于Rnw / LaTeX

时间:2015-10-21 16:10:49

标签: r knitr

我问了question一段时间,关于如何在RMarkdown文档中包装长表格单元格内容。一个很好的答案指向pander()包。

我再次遇到类似的问题,只是我在Rnw文件中工作,我的理解是pander()不适用于LaTeX。所以我回过头来试图找出如何在kable()中包装长行。

\documentclass{article}
\begin{document}

This is my test

<<test, echo=FALSE>>=
library(knitr)
test <- data.frame(v1=c("This is a long string. This is a long string. This is a long string. This is a long string. This is a long string.",
                        "This is a another long string. This is a another long string. This is a another long string. This is a another long string. This is a another long string."),
                   v2=c(1, 2))
kable(test)
@

\end{document}

1 个答案:

答案 0 :(得分:3)

如果您正在使用latex编译pdf,我建议使用包xtable,您可以复制表格环境中几乎所有内容。 align选项为您提供所需的选项:l - left,c - center,r - right或列的大小。我添加了其他选项让你玩。在块选项中,您必须添加结果=&#39; asis&#39;。

library(xtable)
print(xtable(test, caption="A caption", align="lp{2cm}p{2cm}"), 
      comment=F, include.rownames=F, table.placement="ht", 
      size=getOption("xtable.size", "tiny"))