是否有可能在xtable头对准它是从表的其余部分使用的取向不同? 在我的情况,我想我的头是居中对齐,但表本身应该是右对齐。
Answer 1:
要做到这一点在乳胶你坚持你的头变成\multicolumn
的东西来指定要对齐:
\begin{tabular}{rrr}
\hline
& \multicolumn{1}{c}{x} &\multicolumn{1}{c}{y} \\
\hline
1 & 1 & 0.17 \\
2 & 2 & 0.63 \\
3 & 3 & 0.95 \\
4 & 4 & 0.57 \\
5 & 5 & 0.65 \\
\hline
\end{tabular}
该print.xtable
函数使用的名称xtable
对象作为标题。 所以,如果您重新命名xtable
对象:
> d=data.frame(x=1:5,y=runif(5)) # sample data frame
> dx=xtable(d) # make an xtable
> names(dx)=c("\\multicolumn{1}{c}{x}","\\multicolumn{1}{c}{y}")
那么这就是最所做的工作,你只需要打印覆盖的净化功能print.xtable
:
> print.xtable(dx,sanitize.colnames.function=function(x){x})
% latex table generated in R 2.15.1 by xtable 1.7-0 package
% Thu Feb 21 15:28:11 2013
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrr}
\hline
& \multicolumn{1}{c}{x} & \multicolumn{1}{c}{y} \\
\hline
1 & 1 & 0.78 \\
2 & 2 & 0.34 \\
3 & 3 & 0.88 \\
4 & 4 & 0.45 \\
5 & 5 & 0.54 \\
\hline
\end{tabular}
\end{center}
\end{table}
否则不执行
& $\backslash$multicolumn\{1\}\{c\}\{x\} & $\backslash$multicolumn\{1\}\{c\}\{y\} \\
怎么样?
Answer 2:
只是为了跟进Spacedman答案(不能添加为我reputationless评论;)
而不是做的sanitize.colnames.function=function(x){x}
你可以这样做:
sanitize.colnames.function=function(x){paste0("\\multicolumn{1}{c}{",x,"}")}
这样,您就可以跳过重命名一步。 如果你/想做其它头“美化”,他们应该做过paste0
或逗号之间(如短路)
文章来源: xtable and header alignment