Повторите заголовки при использовании 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, но я не помню, правильно ли он повторяет заголовки.