2011-09-14 2 views
9

여러 열이있는 경우 Sweave와 함께 xtable 사용에 대한 질문이 있습니다. 내가 작업하고있는 테이블에는 약 25 열과 5 행이 있습니다. 정확한 열 수는 동적이라고 알려져 있지 않습니다. 하위 테이블에 xtable 분할

내가 말 실행

,

표 < - 테이블 ($ someField DF)

나는 기본적으로 페이지 길이를 초과하는 테이블을 얻을.

 ColA ColB ColC 
--------------------------- 
RowA 1  2  3 ...... 
RowB 3  4  6 ...... 

A는이에 xtable를 수행하고 Sweave를 통해 실행하면

,

xtable(table1, caption="some table") 

는 오버 플로우.

내가 찾던, 같은 \ hline 등 마크 업에

 ColA ColB ColC 
--------------------------- 
RowA 1  2  3 
RowB 3  4  6 

     ColD ColE ColF 
--------------------------- 
RowA 11  9  34 
RowB 36  8  65 

무언가이다. 기본적으로 xtable을 "서브 테이블"당 5 개의 열을 사용하여 부분으로 나눕니다.

또한 배치 작업에서이 작업을 실행하므로 Rnw 파일에서 Sweave를 실행하여 솔루션을 생성 할 수 있어야하는 모든 솔루션을 개별 파일로 변경할 수 없습니다. 사전에

감사합니다,

감사합니다,

  • 라지.
+0

긴 테이블 형식을 지원하므로 Hmisc :: latex를보고 싶을 수도 있습니다. 나는 Sweave 사용자는 아니지만 그 프로그램으로 좋은 LaTeX 출력을 얻는다. –

답변

3

다음은 taRifx 패키지에있는 ?latex.table.by의 예입니다. LaTeX에서 longtable을 사용하여 비슷한 것을 추출하고 latex.table.by 코드를 프로토 타입으로 사용할 수 있습니다.

my.test.df <- data.frame(grp=rep(c("A","B"),10),data=runif(20)) 
library(xtable) 
latex.table.by(my.test.df) 
# print(latex.table.by(test.df), include.rownames = FALSE, include.colnames = TRUE, sanitize.text.function = force) 
# then add \usepackage{multirow} to the preamble of your LaTeX document 
# for longtable support, add ,tabular.environment='longtable' to the print command (plus add in ,floating=FALSE), then \usepackage{longtable} to the LaTeX preamble 

무관 라텍스의 longtable 패키지 키이다.

편집 : 너무 많은 열이 너무 많지 않은 것 같습니다. 이 경우 먼저 해당 페이지를 조경 해보십시오. 헤더에서

:

\usepackage{lscape} 

테이블 주위 :

\begin{landscape} 
... 
\end{landscape} 

하거나 sidewaystable를 사용합니다.

테이블이 너무 넓어 한 페이지에 들어갈 수없는 경우, 너비에 따라 여러 페이지를 넘길 수있는 것처럼 들리는 내용의 설명이있는 supertabular 패키지를 사용해보십시오 (사용하지는 않았지만 사용할 수 없습니다). 확실한).

+0

안녕하세요 gsk3, 의견에 감사드립니다.유감스럽게도 열 수는 매우 높을 수 있습니다 (다른 요소에 따라 동적 변수가 있기 때문에). 따라서 보장 된 결과를 얻으려면 풍경에 적합하지 않을 수도 있습니다. 행 수는 5-6으로 고정되어 있습니다. – xbsd

+0

@xbsd : 다른 제안이 추가되었습니다. 'supertabular'가 작동하지 않는다면, LaTeX의 실제 전문가가 있기 때문에 mod를 http://tex.stackexchange.com/으로 옮길 것을 요청하십시오. –

+1

@ xbsd : 행렬을 조 변경하면 어떨까요? 그런 다음 고정 된 소수의 열과 많은 행이 있습니다. longtable 환경에서는 매우 쉽습니다 (tabular.environment = "longtable"사용). 이 솔루션은 a) 매우 쉽고 b) 문서의 공간을 적게 차지합니다. – Thierry