رأس في كل صفحة من الجدول الكبير من Xtable؟
سؤال
كيف تضع على جدول كبير من رأس الجدول في كل صفحة؟ ، بحيث يكون من الأسهل قراءة الجدول بين الصفحات.
أستخدم ما يلي في 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)
شكرا لإجاباتك
المحلول
ال مواصفات الحزمة الطويلة (اللاتكس) يمكن العثور عليها في عنوان URL. قسم الكود في الأمثلة التي يظهر إخراجها في الصفحتين 2 و 3 في القسم 8 وقد استنسخت جزءًا منه أدناه:
\caption[]{(continued)}\\
\hline\hline
\multicolumn{2}{@{*}c@{*}}%
{This part appears at the top of every other page}\\
\textbf{First}&\textbf{Second}\\
\hline\hline
\endhead
عندما يقولون في "كل صفحة أخرى" ، فإنهم يعنيون كل صفحة أخرى غير الأولى ، والتي كان لها رأس مختلف. إذا كانت المكالمة Xtable لا تعمل خارج المربع دون أي تحرير ، فيجب عليك أولاً التحقق من أن لديك الحزمة الطويلة المحددة في ديرك اللاتكس:
\usepackage{longtable}
نصائح أخرى
أعتقد أن إجابة أفضل لهذا السؤال يتم توفيرها هنا: أسماء الأعمدة في كل صفحة مع Xtable في Sweave
ماذا لو كنت تريد تحرير طاولتك في ص؟ يقوم الحل أعلاه بتحرير الإخراج ، لذلك لن تحتاج إلى إضافة هذه الخطوط في الكود الطويل يدويًا. وبالتالي هذا يعمل بشكل أفضل:
print(test.big, tabular.environment='longtable', include.colnames = TRUE,
floating=FALSE, add.to.row = list(pos = list(0), command = "\\hline \\endhead "))
لاحظ أنه يمكنك إضافة عدة وسيطات في قائمة 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 ")))
سيكون عليك إضافة هذا إلى ملف Sweave الخاص بك:
\usepackage{colortbl}
ينتج عن هذا الحشوة الرمادية في كل صف ورأس ثانٍ لكل صفحة.