Повторите заголовки при использовании xtable с параметром longtable

Есть ли способ повторить заголовки верхнего ряда / набора при генерации xtable с параметром longtable?

Например, если у меня есть

tableSb <- xtable(df, caption="A Very Long Table", label="ALongTable")
print(tableSb, include.rownames=TRUE, tabular.environment="longtable", floating=FALSE)

Это прекрасно работает, но когда таблицы переходят на новую страницу, заголовки не повторяются. Какие-либо предложения?

2 ответа

Решение

Для этого вам необходимо использовать add.to.row вариант print функция (запустить ?print.xtable для дополнительной информации).

Попробуйте это (адаптировано из https://r-forge.r-project.org/tracker/?func=detail&atid=4864&aid=1627&group_id=1228)

addtorow          <- list()
addtorow$pos      <- list()
addtorow$pos[[1]] <- c(0)
addtorow$command  <- c(paste("\\hline \n",
                             "\\endhead \n",
                             "\\hline \n",
                             "{\\footnotesize Continued on next page} \n",
                             "\\endfoot \n",
                             "\\endlastfoot \n",sep=""))
x.big <- xtable(x, label = "tabbig", caption = "Example of longtable spanning several pages")
print(x.big, tabular.environment = "longtable", floating = FALSE,
      include.rownames = FALSE,  # because addtorow will substitute the default row names 
      add.to.row = addtorow,     # this is where you actually make the substitution
      hline.after=c(-1))         # because addtorow will substitute the default hline for the first row

Это немного неуклюжее решение, но по крайней мере оно предоставит вам множество настроек.

Глядя на код для print.xtable, единственные соображения, которые он делает, когда tabular.environment="longtable" являются

  • Выдает предупреждение, если вы также установили floating=TRUE
  • Поместите заголовок в нужном месте для longtable (сверху или снизу)

Он не генерирует код, специфичный для повторения заголовков на последующих страницах. Проверять, выписываться latex в Hmisc пакет. Я знаю, что он также поддерживает longtables, но я не помню, правильно ли он повторяет заголовки.

Другие вопросы по тегам