可以打印超过100行的data.table?

data.table有一个很好的function,可以抑制输出到表头和尾部。

是否可以一次查看/打印100多行?

library(data.table) ## Convert the ubiquitous "iris" data to a data.table dtIris = as.data.table(iris) ## Printing 100 rows is possible dtIris[1:100, ] ## Printing 101 rows is truncated dtIris[1:101, ] 

我经常有data.table结果有点大(如200行),我只是想查看。

data.table的打印方法有一个参数nrows

 args(data.table:::print.data.table) function (x, nrows = 100L, digits = NULL, ...) 

你可以用它来控制打印的行数。

 print(dtIris, nrow=105) ..... 99: 5.1 2.5 3.0 1.1 versicolor 100: 5.7 2.8 4.1 1.3 versicolor 101: 6.3 3.3 6.0 2.5 virginica 102: 5.8 2.7 5.1 1.9 virginica 103: 7.1 3.0 5.9 2.1 virginica 104: 6.3 2.9 5.6 1.8 virginica 105: 6.5 3.0 5.8 2.2 virginica Sepal.Length Sepal.Width Petal.Length Petal.Width Species 

View() (如View(iris)View(dtIris[1:120,]) )不会截断data.table ,通常比打印/喷出data.*更好。

要打印最上面60行和最下面60行(默认是前5和下5):

 print(dtIris, topn = 60) 

一个混乱的选项,但你可以随时导出到Excel中,以方便查看。

 library(xlsReadWrite) write.xls(mydata, "c:/mydata.xls") 

您可以将其转换为仅用于打印的data.frame:

 iris_dt = as.data.table(iris) print(as.data.frame(iris_dt))