我在R中使用xtable来获取表的LaTeX代码。我想修改“标题”的第一个元素(LaTeX表中的第一行),但我只看到一个选项,将文本添加到行的末尾(在xtable中使用add.to.row)。
以下示例应阐明我想要的内容。
运行
xtable(matrix(c(1,0.25,3,0.75),nrow=2,dimnames=list(c('absolute','relative'),c('GNU','Leo'))))
给出输出
% latex table generated in R 2.13.0 by xtable 1.5-6 package
% Tue Jun 19 22:39:49 2012
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrr}
\hline
& GNU & Leo \\
\hline
absolute & 1.00 & 3.00 \\
relative & 0.25 & 0.75 \\
\hline
\end{tabular}
\end{center}
\end{table}
我想获得该行
frequency & GNU & Leo \\
而不是
行 & GNU & Leo \\
但我无法使用xtable完成此操作。如果你知道如何做到这一点,请告诉我。另外,如果这是在错误的地方询问,或者我忽略了答案或明显的解决方案,我会事先道歉。
答案 0 :(得分:4)
另一种选择是使用 Hmisc 中的latex
功能:
library(Hmisc)
m <- matrix(c(1,0.25,3,0.75),nrow=2,dimnames=list(c('absolute','relative'),c('GNU','Leo')))
latex(m,file = "",rowlabel = "frequency")
答案 1 :(得分:3)
一种可能性:
dat1 <- data.frame(matrix(c(1,0.25,3,0.75),nrow=2,dimnames=list(c('absolute','relative'),c('GNU','Leo'))))
dat <- data.frame(Freq = rownames(dat1), dat1)
print(
xtable(
x = dat
, caption = "Your Caption"
, label = "tab:dat"
, align = paste(paste("l|", paste(rep("r", ncol(dat)-1), collapse=''), sep = ""), "|r", sep = "")
, digits = c(0, rep(3, ncol(dat)))
)
, table.placement = "H"
, caption.placement = "top"
, include.rownames = FALSE
, include.colnames = TRUE
, size = "normalsize"
, hline.after = c(-1, 0, nrow(dat))
)