我有一个表格列表,并希望将其用于 LaTex 输出。这是代码:
Data <- esoph[ , 1:3]
library(plyr)
combos <- combn(ncol(Data),2)
TabelFn <- function(x) {
Table <- addmargins(table(Data[, x[1]], Data[, x[2]]))
return(Table)
}
Table <- alply(.data=combos, .margins=2, .fun=TabelFn, .expand=TRUE)
library(xtable)
在这种情况下,该列表Table
有三个列联表,我可以使用以下代码将输出转换为 LaTex:
<< label = tabTable, echo = FALSE, results = tex >>=
print(xtable(Table[1]$'1', caption = "Contingency table for agegp and alcgp", label = "tab:Table[1]",
digits = c(0, rep(0, ncol(Table[1]$'1'))),
align = paste(paste("l|", paste(rep("r", ncol(Table[1]$'1')-1), collapse = ''), sep = ""), "l", sep = "")),
table.placement = "tbp", caption.placement = "top",
hline.after = c(-1, 0, nrow(Table[1]$'1')))
@
要发送三个列联表的输出,我必须编写三个这样的命令。在这种情况下是可行的。但是对于我的实际数据,我有很多列联表。我想知道如何更有效地发送所有列联表。一种选择是只打印Table
不带xtable
. 但我希望列联表具有良好的输出格式。感谢您的时间和帮助。