将大表打印到控制台

时间:2015-11-12 23:23:21

标签: r dataframe data.table

我有一个行数超过1万的data.table,我想完全打印到控制台。尽管你得到了错误消息 - 增加options(max.print=...)并没有帮助 - 表格仍然被切断(取决于max.print设置为15000的操作系统,它在1500或7500时被切断)。

我考虑使用write.table代替,但问题是我丢失了print通常提供的列对齐:

dt = data.table(a = c("sdflk", "sdflksdfsdfsdf"), b = c(1,2))
write.table(dt, sep = "\t", quote = F)
#a       b
#1       sdflk   1
#2       sdflksdfsdfsdf  2

有没有解决这个限制的方法?

如果你想玩的话,这里有一个很大的data.table

dtl = data.table(a = sample(c("sdflk", "sdflksdfsdfsdf"), 15000, T), b = 1:15000)
options(max.print = 15000)
print(as.data.frame(dtl))
print(dtl, nrow = 15000)

1 个答案:

答案 0 :(得分:4)

max.print的文档(位于?options)表示它是条目数,而不是行数,所以

options(max.print = (nrow(dtl)+1)*ncol(dtl)) 

似乎适用于OP中的示例。