R의 출력결과를 LaTeX 테이블로 변환하기

2012-03-17
LaTeX R-Tips

통계분석 패키지인 R과 과학문서 작성에 많이 쓰이는 LaTeX는 궁합이 아주 잘 맞습니다. 특히 R의 Sweave라는 패키지를 이용하면 R 환경에서 훌륭한 LaTeX 문서를 만들 수 있습니다. 단지 Sweave를 이용하면 R의 소스코드가 좀 복잡해지기는 한데요. 그래서 저는 R에서 계산한 결과만을 LaTeX 테이블로 변환하는 방법을 즐겨 사용합니다. 이를 가능하게 해주는 것이 R의 xtable이라는 패키지입니다.

우선 xtable 패키지를 인스톨합니다.

> install.packages("xtable")

인스톨한 패키지를 불러오고, 필요한 계산 혹은 분석을 하고 그 결과를 LaTeX 테이블로 변환하기 위해서는 함수 xtable()를 사용합니다.

> library(xtable)
> data(tli)
> fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data=tli)
> fm1.table <- xtable(fm1)
> print(fm1.table)
## % latex table generated in R 3.5.1 by xtable 1.8-2 package
## % Sun Jul  8 20:14:28 2018
## \begin{table}[ht]
## \centering
## \begin{tabular}{lrrrrr}
##   \hline
##  & Df & Sum Sq & Mean Sq & F value & Pr($>$F) \\ 
##   \hline
## sex & 1 & 75.37 & 75.37 & 0.38 & 0.5417 \\ 
##   ethnicty & 3 & 2572.15 & 857.38 & 4.27 & 0.0072 \\ 
##   grade & 1 & 36.31 & 36.31 & 0.18 & 0.6717 \\ 
##   disadvg & 1 & 59.30 & 59.30 & 0.30 & 0.5882 \\ 
##   Residuals & 93 & 18682.87 & 200.89 &  &  \\ 
##    \hline
## \end{tabular}
## \end{table}

화면에 출력된 결과를 LaTeX 문서에 복사 & 붙여 넣기를 하고 컴파일을 하면, 아래와 같은 테이블을 얻을 수 있습니다.

테이블의 결과를 화면이 아닌 별도의 파일로 저장하기 위해서는

> print(fm1.table, file="fm1.txt")

을 실행하면 fm1.txt 파일에 위 내용이 저장되어 있는 것을 확인할 수 있습니다.

더 많은 예제는 The xtable gallery(PDF 파일)을 확인하세요.

comments powered by Disqus