10

我得到了一些报告,其中包含一些包含比例和绝对值的表格。现在我想以digits=2精确的方式显示包含比例的行,而绝对值仅显示为digits=0. xtable 我知道使用这样的调用可以开箱即用

xtable(tableWith3Cols,digits=c(0,0,2,2))

但是有没有办法明智地做同样的事情?

编辑:这是一个可重现的例子

require(xtable)
df <- data.frame(col1=rnorm(10),col2=runif(10,1,3))
xtable(df,digits=c(0,5,0))

回声

% latex table generated in R 2.15.1 by xtable 1.7-0 package
% Fri Jan 18 18:58:47 2013
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrr}
\hline
& col1 & col2 \\ 
\hline
1 & -0.79222 & 3 \\ 
2 & 0.24845 & 2 \\ 
3 & 0.24217 & 2 \\ 
4 & -0.19935 & 2 \\ 
5 & 0.47873 & 2 \\ 
6 & 1.10494 & 2 \\ 
7 & 1.54076 & 1 \\ 
8 & 0.25272 & 2 \\ 
9 & -0.11308 & 1 \\ 
10 & -1.23875 & 2 \\ 
\hline
\end{tabular}
\end{center}
\end{table}

这是柱状情况的解决方案。我得到 2 个不同的数字列,一个有 5 个数字,一个是完全舍入的。

我想要的是例如:第 2 行和第 10 行 5 位数字,所有其他 0 位数字。

4

1 回答 1

8

我的矩阵生成技能不是最优雅的,但这就是你要找的吗?

require(xtable)
df <- data.frame(col1=rnorm(10),col2=runif(10,1,3))
mdat <- matrix(c(rep(0,3), 0, 5, 0, rep(0, (7*3)), 0, 5, 0), 
                 nrow = 10, ncol=3, byrow=TRUE)
xtable(df,digits=mdat)
% latex table generated in R 2.15.1 by xtable 1.7-0 package
% Fri Jan 18 15:52:41 2013
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrr}
  \hline
 & col1 & col2 \\ 
  \hline
  1  &      -0 & 3 \\ 
  2  & 1.16203 & 1 \\ 
  3  &       1 & 2 \\ 
  4  &       0 & 2 \\ 
  5  &       0 & 2 \\ 
  6  &      -1 & 2 \\ 
  7  &       1 & 2 \\ 
  8  &       1 & 2 \\ 
  9  &      -1 & 2 \\ 
  10 & 0.63731 & 2 \\ 
   \hline
\end{tabular}
\end{center}
\end{table}

或整排,

require(xtable)
df <- data.frame(col1=rnorm(10),col2=runif(10,1,3))
mdat <- matrix(c(rep(0,3),rep(5,3), rep(0, (7*3)), rep(5,3)),
                 nrow = 10, ncol=3, byrow=TRUE)
xtable(df,digits=mdat)
% latex table generated in R 2.15.1 by xtable 1.7-0 package
% Fri Jan 18 16:00:12 2013
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrr}
  \hline
 & col1 & col2 \\ 
  \hline
  1  &       -0 & 1       \\ 
  2  &  1.36652 & 2.10159 \\ 
  3  &        0 & 2       \\ 
  4  &       -2 & 2       \\ 
  5  &       -1 & 2       \\ 
  6  &        0 & 2       \\ 
  7  &       -0 & 2       \\ 
  8  &       -0 & 1       \\ 
  9  &       -1 & 2       \\ 
  10 & -0.44182 & 2.09663 \\ 
   \hline
\end{tabular}
\end{center}
\end{table}
于 2013-01-18T23:53:37.163 回答