data.table有一个很好的特性,可以抑制表头和表尾的输出。
是否可以同时查看/打印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, ]
我经常有一些数据表结果,它们有点大(例如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
s,而且通常比打印/向控制台喷出data.*
要好。
打印顶部60行和底部60行(默认为顶部5行和底部5行):
print(dtIris, topn = 60)
您可以将其转换为仅用于打印的数据帧:
iris_dt = as.data.table(iris)
print(as.data.frame(iris_dt))
这是一个混乱的选项,但您可以随时将其导出到excel中,以方便查看。
library(xlsReadWrite)
write.xls(mydata, "c:/mydata.xls")