9

getOption("max.print")用于限制可以从单个函数调用中打印的值的数量。例如:

options(max.print=20)
print(cars)

仅打印 2 列的前 10 行。但是,max.print列表效果不太好。特别是如果它们嵌套很深,打印到控制台的行数仍然可以是无限的。

有没有办法指定可以打印到屏幕上的数量的更硬截止?例如,通过指定可以中断打印的行数?还可以防止打印巨大的递归对象的东西?

4

1 回答 1

4

部分基于这个问题,我建议只构建一个用于规范打印内容的包装printcapture.output

print2 <- function(x, nlines=10,...)
    cat(head(capture.output(print(x,...)), nlines), sep="\n")

例如:

> print2(list(1:10000,1:10000))
[[1]]
    [1]     1     2     3     4     5     6     7     8     9    10    11    12
   [13]    13    14    15    16    17    18    19    20    21    22    23    24
   [25]    25    26    27    28    29    30    31    32    33    34    35    36
   [37]    37    38    39    40    41    42    43    44    45    46    47    48
   [49]    49    50    51    52    53    54    55    56    57    58    59    60
   [61]    61    62    63    64    65    66    67    68    69    70    71    72
   [73]    73    74    75    76    77    78    79    80    81    82    83    84
   [85]    85    86    87    88    89    90    91    92    93    94    95    96
   [97]    97    98    99   100   101   102   103   104   105   106   107   108
于 2013-07-04T21:47:31.943 回答