9

getOption("max.print")を使用して、1 回の関数呼び出しで出力できる値の数を制限できます。例えば:

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

2 列の最初の 10 行のみを印刷します。ただし、max.printリストはうまく機能しません。特にそれらが深くネストされている場合、コンソールに出力される行の量は依然として無限になる可能性があります。

画面に印刷できる量のより厳しいカットオフを指定する方法はありますか? たとえば、印刷を中断できるようになるまでの行数を指定することによってですか? 巨大な再帰オブジェクトの印刷からも保護するものはありますか?

4

1 に答える 1

4

この質問に部分的に基づいて、印刷されるものを規制するためprintに使用するラッパーを作成することをお勧めします。capture.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 に答える