Как настроить R, чтобы он использовал всю ширину моего терминала?

Вопрос или проблема

Я запускаю интерактивный R в терминале, однако он не использует всю ширину терминала. Он использует только 72 символа из 226. Чтение данных с большим количеством столбцов в интерактивном R очень неудобно.

Я использую urxvt на debian 9,8.

Смотрите ?option:

 ‘width’: управляет максимальным количеством столбцов в строке, используемым
      для вывода векторов, матриц и массивов, а также при
      заполнении с помощью ‘cat’.

      Столбцы обычно совпадают с символами, за исключением
      восточноазиатских языков.

      Вы можете изменить это, если измените размер окна, в котором
      работает R. Допустимые значения от 10 до 10000, по умолчанию
      обычно 80. (Ограничения допустимых значений находятся в файле
      ‘Print.h’ и могут быть изменены путем повторной компиляции R.) Некоторые консоли R
      автоматически меняют значение, когда они изменяются в размерах.

Чтобы запросить значение:

R> getOption("width")
[1] 80

Чтобы изменить значение (добавьте это в ~/.Rprofile, чтобы изменить его навсегда):

options("width"=200)

Только что обнаружил следующее. Кажется, это работает правильно, но у меня было мало тестирования.

options(width=Sys.getenv("COLUMNS"))
options(setWidthOnResize=TRUE)

Первый вариант можно обернуть в функцию для запуска при старте, а второй можно также добавить в ваше .Rprofile.

К сожалению, предложение Алана не совсем работает, потому что bash не экспортирует переменную $COLUMNS. Я успешно протестировал это улучшение:

options(width=as.integer(system2("echo", "$COLUMNS", stdout=TRUE)))
options(setWidthOnResize=TRUE)

В качестве альтернативы, если у вас установлены ncurses:

options(width=as.integer(system2("tput", "cols", stdout=TRUE)))
options(setWidthOnResize=TRUE)

Естественно, вы хотите, чтобы одна из этих строк была в вашем .Rprofile. Первая строка обрабатывает момент, когда R запускается, а вторая – когда окно изменяется в размерах.

Ответ или решение

Чтобы настроить R для использования всей ширины вашего терминала, Вам необходимо управлять параметром width, что позволит отображать больше данных в одном ряду. По умолчанию R устанавливает этот параметр на значение 80, что может быть неудобно, особенно если ваш терминал поддерживает гораздо более широкий вывод. Ниже приведены шаги и рекомендации, как это можно сделать, включая автоматизацию и изменение значений в зависимости от размера окна терминала.

Шаг 1: Проверка текущего значения ширины

Вы можете проверить текущее значение параметра width, выполнив следующую команду в R:

getOption("width")

Шаг 2: Установка новой ширины

Чтобы изменить ширину в R, вы можете установить её значение вручную или автоматически. Для этого выполните команду:

options(width=200) # например, если хотите установить ширину на 200

Однако, вместо жестко закодированного значения, рекомендуется использовать методы, которые автоматически определяют ширину терминала.

Шаг 3: Автоматическая настройка ширины

Метод 1: Использование переменной окружения COLUMNS

К сожалению, переменная $COLUMNS не всегда доступна в среде bash, поэтому использование альтернативного метода может дать лучшие результаты.

options(width=as.integer(system2("echo", "$COLUMNS", stdout=TRUE)))

Метод 2: Использование команды tput

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

options(width=as.integer(system2("tput", "cols", stdout=TRUE)))

Шаг 4: Автоматизация при запуске

Чтобы сделать так, чтобы настройки применялись автоматически при каждом запуске R, вы можете добавить необходимые строки кода в файл ~/.Rprofile. Откройте файл в текстовом редакторе и добавьте следующие строки:

options(width=as.integer(system2("tput", "cols", stdout=TRUE)))
options(setWidthOnResize=TRUE)

Шаг 5: Обновление при изменении размера окна

Опция setWidthOnResize=TRUE позволяет R автоматически обновлять значение ширины, когда Вы изменяете размер окна терминала. Это обеспечивает дополнительную гибкость и комфорт в работе.

Заключение

С помощью приведенных выше шагов вы сможете настроить R для использования всей ширины вашего терминала, что значительно улучшит отображение данных. Используйте автонастройку для максимального удобства. Регулярно проверяйте настройки и обновляйте их по мере необходимости, чтобы ваша работа в R оставалась эффективной и продуктивной.

Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться за консультацией к сообществу R или к другим специалистам в области IT.

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

Капча загружается...