Как избежать предупреждения R: достигли getOption («max.print»)

Как избежать предупреждения 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. seed (0)

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

#view head of data frame
head(df)

 x y
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 или более уровнями

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.