В R мне нравится использовать обратный поиск (ctrl + r) для повторения редких, но сложных команд без script. Часто я буду делать так много других команд между тем, что команда history отбрасывает старую команду. Как изменить длину по умолчанию в истории команд?
Как увеличить длину истории команд в R?
Ответ 1
Это конкретная платформа и консоль. С помощью ?savehistory
:
Существует несколько механизмов истории для разных R консолей, которые работают схожими, но не одинаковыми способами...
...
Механизм истории управляется двумя переменными среды: R_HISTSIZE управляет количеством сохраняемых строк (по умолчанию 512), и R_HISTFILE задает имя файла, используемое для загрузки/сохранения историю, если она запрашивается в начале/конце сеанса (но не по умолчанию для этих функций). Нет ограничений на количество строк истории, сохраненной во время сеанса, поэтому установка R_HISTSIZE на большой значение не имеет никакого штрафа, если фактически не создается большой файл.
Итак, теоретически вы можете читать и устанавливать R_HISTSIZE
с помощью:
Sys.getenv("R_HISTSIZE")
Sys.setenv(R_HISTSIZE = new_number)
Но на практике это может иметь или не иметь никакого эффекта.
См. также ?Sys.setenv
и ?EnvVar
Ответ 2
Взгляните на страницу справки history()
. Это, по-видимому, задается переменной среды R_HISTSIZE, поэтому вы можете установить ее для сеанса с помощью Sys.setenv(R_HISTSIZE = XXX)
. Я все еще копаю, чтобы найти, где вы измените это поведение по умолчанию для всех сеансов R, но предположительно это будет связано с .Startup
или вашим профилем R.
Ответ 3
? История
"Существует несколько механизмов истории для разных R консолей, которые работают аналогичными, но не одинаковыми способами."
Кроме того, в одном устройстве может быть даже два механизма истории. У меня есть файлы .history, сохраненные с консоли, и у Mac R GUI есть своя отдельная система. Вы можете увеличить количество записей, управляемых графическим интерфейсом, на панели "Настройки".
Существует инкрементный пакет истории: http://finzi.psych.upenn.edu/R/library/track/html/track.history.html