可以打印超过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))