如何在 R 中使用 xtable 打印 LaTeX 矩阵

如何在 R 中使用 xtable 打印 LaTeX 矩阵

我正在尝试使用 R 将矩阵打印为 LaTeX 矩阵xtable,使用 LaTeX 环境bmatrix

a <- matrix(rnorm(25), 5 ,5)
x <- xtable(x)
> print(x, floating=FALSE, tabular.environment="bmatrix", hline.after=NULL, include.rownames=FALSE, include.colnames=FALSE)

我明白了:

% latex table generated in R 2.14.1 by xtable 1.6-0 package
% Fri May 11 08:16:12 2012
\begin{bmatrix}{rrrrr}
  0.70 & 1.30 & -0.44 & 0.97 & -0.86 \\ 
  -1.23 & -0.59 & 0.04 & -0.32 & 0.12 \\ 
  -0.64 & -0.19 & 0.11 & 0.77 & 0.05 \\ 
  0.56 & -0.28 & -2.05 & 1.01 & -1.77 \\ 
  0.02 & -1.24 & 0.51 & -0.49 & 1.23 \\ 
\end{bmatrix}

有没有办法抑制{rrrrr}对齐属性,或者以其他方式让 xtable 生成我可以在数学环境中使用的括号矩阵?

答案1

使用align的参数xtable,将对齐字符串设置为空。这在 之后会产生一个空组\begin{bmatrix},这是无害的:

> a <- matrix(rnorm(25), 5 ,5)
> x=xtable(a,align=rep("",ncol(a)+1)) # We repeat empty string 6 times
> print(x, floating=FALSE, tabular.environment="bmatrix", 
  hline.after=NULL, include.rownames=FALSE, include.colnames=FALSE)
% latex table generated in R 2.14.1 by xtable 1.7-0 package
% Fri May 11 12:44:24 2012
\begin{bmatrix}{}
  -0.12 & 0.44 & 0.32 & 1.38 & 0.48 \\ 
  0.68 & 1.08 & 0.03 & 0.73 & -2.08 \\ 
  -0.49 & 0.61 & 1.51 & 2.24 & -2.54 \\ 
  0.31 & 0.72 & 0.06 & -0.47 & 0.02 \\ 
  0.52 & 1.15 & 2.33 & 0.19 & -1.04 \\ 
  \end{bmatrix}
> 

相关内容