2010-11-25 7 views
4

Wie legen Sie eine große Tabelle von xtable die Tabellenkopfzeile auf jeder Seite ?, So ist es einfacher, die Tabelle die Tabelle zwischen den Seiten zu lesen.Header auf jeder Seite der großen Tabelle von xtable?

Ich verwende die folgende in Sweave:

test.big<- xtable(test,label="table",caption='test') 
align(test.big) <- "|c|c|c|c|l|c|c|c|" 
print(test.big,tabular.environment='longtable',include.colnames = TRUE,floating=FALSE) 

Vielen Dank für Ihre Antworten

Antwort

4

Die longtable (LaTeX) package specification kann unter dieser URL zu finden. Der Abschnitt des Codes in den Beispielen, dessen Ausgang erscheint auf den Seiten 2 und 3 ist in Abschnitt 8 und ich habe wenig davon im Folgenden wiedergegeben:

\caption[]{(continued)}\\ 
\hline\hline 
\multicolumn{2}{@{*}[email protected]{*}}% 
{This part appears at the top of every other page}\\ 
\textbf{First}&\textbf{Second}\\ 
\hline\hline 
\endhead 

Wenn sie auf „jeder anderen Seite“ sagen, meinen sie jede Seite andere als die erste, die einen anderen Header hatte. Wenn der XTABLE Anruf nicht ohne Bearbeitung aus der Box arbeitet, dann sollten Sie zunächst prüfen, ob Sie das longtable-Paket in LaTeX Präambel angegeben haben:

\usepackage{longtable} 
8

Ich denke, eine bessere Antwort auf diese Frage hier vorgesehen ist, : Column names on each page with xtable in Sweave

Was ist, wenn Sie Ihre Tabelle in R bearbeiten möchten? Die obige Lösung bearbeitet die Ausgabe, sodass Sie diese Zeilen in Ihrem Longtable-Code nicht manuell hinzufügen müssen. So funktioniert das besser:

print(test.big, tabular.environment='longtable', include.colnames = TRUE, 
floating=FALSE, add.to.row = list(pos = list(0), command = "\\hline \\endhead ")) 

Beachten Sie, dass mehrere Argumente in Ihrer add.to.row Liste hinzufügen:

print(test.big, tabular.environment='longtable', include.colnames = TRUE, 
floating=FALSE, list(pos = list(seq(1,nrow(get(groups[i])), by = 2), 0), 
command = c("\\rowcolor[gray]{.95} ","\\hline \\endhead "))) 

Sie finden diese auf Ihre Sweave Datei hinzufügen:

\usepackage{colortbl} 

Dies erzeugt graue Füllung in jeder zweiten Zeile & Header für jede Seite.

Verwandte Themen