如何增加R中命令历史的长度?

时间:2011-09-08 20:55:34

标签: r

在R中,我喜欢使用反向搜索(ctrl + r)来重做不常见但复杂的命令而不使用脚本。通常,我会在其间执行许多其他命令,命令历史记录会丢弃旧命令。如何更改命令历史记录的默认长度?

3 个答案:

答案 0 :(得分:7)

这是特定于平台和控制台的。来自?savehistory的帮助:

  

不同的R有几种历史机制可供选择   控制台,以类似但不相同的方式工作......

     

...

     

历史机制由两个环境变量控制:   R_HISTSIZE控制保存的行数(默认为512),   和R_HISTFILE设置用于加载/保存的文件名   如果在会话开始/结束时请求的历史记录(但不是   这些功能的默认值)。行数没有限制   在会话期间保留的历史记录,因此将R_HISTSIZE设置为大   除非实际生成大文件,否则value不会受到惩罚。

因此,理论上,您可以阅读并设置R_HISTSIZE

Sys.getenv("R_HISTSIZE")
Sys.setenv(R_HISTSIZE = new_number)

但是,在实践中,这可能会或可能不会产生任何影响。

另请参阅?Sys.setenv?EnvVar

答案 1 :(得分:2)

查看history()的帮助页面。这显然是由环境变量R_HISTSIZE设置的,因此您可以为Sys.setenv(R_HISTSIZE = XXX)的会话设置它。我仍然在挖掘所有R会话的更改默认行为的位置,但可能会与.Startup或您的R个人资料相关。

答案 2 :(得分:2)

?历史

  

“不同的R有几种历史机制可供选择   控制台,以类似但不相同的方式工作。 “

此外,在同一设备中甚至可能存在两种历史机制。我从控制台保存了.history文件,Mac R GUI有自己独立的系统。您可以在“首选项”面板中增加GUI管理的历史记录条目的数量。

有一个增量历史包: http://finzi.psych.upenn.edu/R/library/track/html/track.history.html