en-tête sur chaque page de grande table de XTABLE?
Question
Comment mettre sur une grande table de l'en-tête de table XTABLE sur chaque page ?, donc plus facile à lire la table de la table entre les pages.
J'utilise les éléments suivants dans 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)
Merci pour vos réponses
La solution
de spécification de paquet longtable (latex) peut être trouvé à cette URL. La section de code dans les exemples dont la sortie apparaît sur les pages 2 et 3 est à l'article 8 et je l'ai reproduit peu ci-dessous:
\caption[]{(continued)}\\
\hline\hline
\multicolumn{2}{@{*}c@{*}}%
{This part appears at the top of every other page}\\
\textbf{First}&\textbf{Second}\\
\hline\hline
\endhead
Quand ils disent sur « toute autre page », ils veulent dire chaque page autre que la première, qui avait un en-tête. Si l'appel XTABLE ne fonctionne pas hors de la boîte sans modification, vous devez d'abord vérifier que vous avez le paquet longtable spécifié dans votre préambule LaTeX:
\usepackage{longtable}
Autres conseils
Je pense qu'une meilleure réponse à cette question est fournie ici: Les noms de colonnes sur chaque page avec XTABLE en Sweave
Que faire si vous voulez modifier votre table en R? La solution ci-dessus modifie la sortie, vous aurez donc pas besoin d'ajouter ces lignes dans votre code longtable manuellement. Ainsi cela fonctionne mieux:
print(test.big, tabular.environment='longtable', include.colnames = TRUE,
floating=FALSE, add.to.row = list(pos = list(0), command = "\\hline \\endhead "))
Notez que vous pouvez ajouter plusieurs arguments dans votre liste de add.to.row:
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 ")))
Vous devrez ajouter à votre fichier Sweave:
\usepackage{colortbl}
Ce produit de remplissage gris sur chaque seconde rangée et en-tête pour chaque page.