我有一个行数超过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)
答案 0 :(得分:4)
max.print
的文档(位于?options
)表示它是条目数,而不是行数,所以
options(max.print = (nrow(dtl)+1)*ncol(dtl))
似乎适用于OP中的示例。