Como fazer um loop sobre objetos R FORA DE pedaços

Como fazer um loop sobre objetos R FORA DE pedaços

Quero compor com TeX um relatório baseado em dados de um objeto R (dataframe). A ideia é imprimir uma bela tabela TeX de cada linha de um dataframe R.

Algo como

\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}

Por favor, considere o seguinte 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}

que produz

insira a descrição da imagem aqui

Como eu poderia digitar os valores gerados pelo loop R com TeX? Em outras palavras, como fazer \loop...\repeatcom variáveis ​​de loop TeX sobre R.

Responder1

Você pode usar otabela xpacote:

<<loop-data, results='asis'>>=
library(xtable)
for (i in 1:nrow(df)) {
  print(xtable(t(df[i])))
}
@

Ou use a kable()função emtricô:

<<loop-data, results='asis'>>=
for (i in 1:nrow(df)) {
  kable(t(df[i]), row.names=FALSE)
}
@

cabo() em tricô

A chave é a opção chunk results='asis'.

informação relacionada