如何避免使用data.table打印行号?

时间:2014-04-09 08:36:49

标签: r data.table

打印data.table会在实际输出之前为每行输出添加一个数字,例如

> DT <- data.table(cbind(1:3,3:1))
> DT
    V1 V2
 1:  1  3
 2:  2  2
 3:  3  1
> print(DT)
    V1 V2
 1:  1  3
 2:  2  2
 3:  3  1

如何避免打印&#34; 1:&#34;,&#34; 2:&#34;,&#34; 3:&#34;在数据行之前?我想使用xtable编写html或latex格式的数据输出。

2 个答案:

答案 0 :(得分:6)

print.data.table有一个参数row.names,默认设置为TRUE。只需使用

> print(DT, row.names=FALSE)
 V1 V2
  1  3
  2  2
  3  1

答案 1 :(得分:3)

如果你想压缩xtable()输出中的名字,你需要使用 print.xtable()的参数:

library(xtable)

df <- data.frame(x = 1:3, y = 3:1)
xtable(df)

## % latex table generated in R 3.0.2 by xtable 1.7-1 package
## % Wed Apr  9 06:53:55 2014
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrr}
##   \hline
##  & x & y \\ 
##   \hline
## 1 &   1 &   3 \\ 
##   2 &   2 &   2 \\ 
##   3 &   3 &   1 \\ 
##    \hline
## \end{tabular}
## \end{table}

print(xtable(df), include.rownames = FALSE)

## % latex table generated in R 3.0.2 by xtable 1.7-1 package
## % Wed Apr  9 06:53:55 2014
## \begin{table}[ht]
## \centering
## \begin{tabular}{rr}
##   \hline
## x & y \\ 
##   \hline
##   1 &   3 \\ 
##     2 &   2 \\ 
##     3 &   1 \\ 
##    \hline
## \end{tabular}
## \end{table}

在这种情况下,您使用data.table而不是data.frame

并不重要。