2

我在 R 中有一个 3d 数组“arr”:

> v1 <- c("100", "75", "31", "41", "1000", "69")
> v2 <- c("10m", "6h", "5d", "11m", "6h", "5d")
> arr <- array(c(v1, v2), dim=c(3, 2, 2), dimnames=list(c("d1", "d2", "d3"), c("m1", "m2"), c("v1", "v2")))
> arr
, , v1

   m1    m2    
d1 "100" "41"  
d2 "75"  "1000"
d3 "31"  "69"  

, , v2

   m1    m2   
d1 "10m" "11m"
d2 "6h"  "6h" 
d3 "5d"  "5d" 

我想为它创建一个 Latex 表,如下所示:

          m1            m2
------------------------------
        v1  v2        v1  v2
------------------------------
d1     100 10m        41 11m
d2      75  6h      1000  6h
d3      31  5d        69  5d

如何使用 R 将上面的表格变成乳胶?我知道 R 包“xtable”可以做我需要的类似事情。但是,我不知道它是否可以为我制作上面的确切表格。

PS:我还想知道除了上面介绍的方法之外,是否还有其他方法可以在表格中呈现 3d 数组。

4

1 回答 1

1
> library(xtable)
> xtable(cbind(arr[,'m1',], arr[,'m2',]), align='lrrrr')
% latex table generated in R 3.0.2 by xtable 1.7-1 package
% Fri Dec 13 07:48:13 2013
\begin{table}[ht]
\centering
\begin{tabular}{lrrrr}
  \hline
 & v1 & v2 & v1 & v2 \\ 
  \hline
d1 & 100 & 10m & 41 & 11m \\ 
  d2 & 75 & 6h & 1000 & 6h \\ 
  d3 & 31 & 5d & 69 & 5d \\ 
   \hline
\end{tabular}
\end{table}
于 2013-12-13T06:48:40.720 回答