Как избежать предупреждения r: достигнут getoption("max.print")


Предупреждающее сообщение, которое вы можете встретить в R:

 [ reached getOption("max.print") -- omitted 502 rows ]

Это сообщение появляется при попытке распечатать более 1000 значений одновременно в RStudio.

По умолчанию RStudio позволяет печатать только 1000 значений одновременно. Однако вы можете легко увеличить этот лимит одним из следующих способов:

Способ 1. Увеличьте лимит до определенного значения.

 #increase print limit to 2000 values
options( max.print = 2000 )

Способ 2. Увеличьте лимит до максимального значения, разрешенного машиной.

 #increase print limit to max allowed by your machine
options(max. print = .Machine$integer. max )

В следующем примере показано, как использовать эти методы на практике.

Пример: увеличить лимит печати в R

Предположим, мы создаем фрейм данных в R с 1002 строками и 2 столбцами:

 #make this example reproducible
set. seeds (0)

#create data frame
df <- data. frame (x=runif(1002),
                 y=runif(1002))

#view head of data frame
head(df)

          xy
1 0.8966972 0.68486090
2 0.2655087 0.38328339
3 0.3721239 0.95498800
4 0.5728534 0.11835658
5 0.9082078 0.03910006
6 0.2016819 0.50450503

Далее предположим, что мы пытаемся напечатать весь фрейм данных в RStudio:

 #attempt to print entire data frame
df

Мы можем отобразить только первые 500 строк (т. е. первые 1000 значений) и получаем предупреждение о том, что 502 строки пропущены.

Однако, если мы используем функцию max.print , мы можем увеличить лимит печати до 2500 значений:

 #increase print limit to 2500 values
options( max.print = 2500 )

#attempt to print entire data frame again
df

На этот раз мы можем напечатать все 1002 строки фрейма данных и не получаем никаких предупреждающих сообщений, поскольку мы увеличили лимит печати.

Если мы хотим пойти на крайние меры и установить ограничение печати на максимальное количество значений, разрешенное нашей машиной, мы можем использовать следующий синтаксис:

 #increase print limit to max allowed by your machine
options(max. print = .Machine$integer. max )

Однако используйте эту опцию только в том случае, если вам абсолютно необходимо иметь возможность отображать каждую строку во фрейме данных, поскольку это может занять много времени, если данные, с которыми вы работаете, очень велики.

Дополнительные ресурсы

В следующих руководствах объясняется, как устранить другие распространенные ошибки в R:

Как исправить в R: Имена не совпадают с предыдущими именами
Как исправить в R: длина более длинного объекта не кратна длине более короткого объекта
Как исправить в R: контрасты можно применять только к факторам с 2 и более уровнями

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *