我想使用 TeX 排版一份基于 R 对象(数据框)数据的报告。想法是从 R 数据框的每一行打印出一个漂亮的 TeX 表格。
就像是
\begin{tabular}{ l c r }
A1 & B1 & C1 \\
\end{tabular}
\begin{tabular}{ l c r }
A2 & B2 & C2 \\
\end{tabular}
\begin{tabular}{ l c r }
A3 & B3 & C3 \\
\end{tabular}
请考虑以下 MWE
\documentclass{article}
\begin{document}
<<prepare data>>=
one <- c("A1","B1","C1")
two <- c("A2","B2","C2")
three <- c("A3","B3","C3")
df <- data.frame(one,two,three)
@
<<loop data>>=
for (i in 1:nrow(df)) {
print(df[i])
}
@
\end{document}
产生
如何使用 TeX 排版 R 循环输出的值?换句话说,如何使用\loop...\repeat
TeX 处理 R 循环变量。
答案1
您可以使用表包裹:
<<loop-data, results='asis'>>=
library(xtable)
for (i in 1:nrow(df)) {
print(xtable(t(df[i])))
}
@
或者使用kable()
函数针织品:
<<loop-data, results='asis'>>=
for (i in 1:nrow(df)) {
kable(t(df[i]), row.names=FALSE)
}
@
关键是块选项results='asis'
。