2014-04-09 53 views
3

打印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 

如何避免在數據行之前打印「1:」,「2:」,「3:」?我想用xtable來編寫我的數據的html格式或乳膠格式輸出。

回答

5

print.data.table有一個參數row.names,它默認設置爲TRUE。只需使用

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

當我想進一步處理data.table時,是否還有一種方法可以擺脫行名稱在'xtable(DT)'中? – Stefan

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