청크에서 R 객체를 반복하는 방법

청크에서 R 객체를 반복하는 방법

R 개체(데이터 프레임)의 데이터를 기반으로 하는 보고서를 TeX으로 조판하고 싶습니다. 아이디어는 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}

생산하는

여기에 이미지 설명을 입력하세요

R 루프에서 출력된 값을 TeX로 어떻게 조판할 수 있나요? 즉, \loop...\repeatTeX over R 루프 변수를 사용하는 방법입니다.

답변1

당신은 사용할 수 있습니다x테이블패키지:

<<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)
}
@

knitr의 kable()

핵심은 청크 옵션이다 results='asis'.

관련 정보