我总是用以下代码开始我的脚本
rm(list=ls())
Run Code Online (Sandbox Code Playgroud)
清除我的工作区以避免不同脚本之间的冲突.但是,我正在寻找一种方法来将所有已更改的选项设置为其默认状态.例如,在某些脚本中,我需要通过设置来更改SS类型:
options(contrasts=c(unordered="contr.sum", ordered="contr.poly"))
Run Code Online (Sandbox Code Playgroud)
在其他脚本中,我需要使用默认选项(因为它是默认的,我没有直接指定),即:
options(contrasts=c(unordered="contr.treatment", ordered="contr.poly"))
Run Code Online (Sandbox Code Playgroud)
但是如果之前刚刚使用过具有更改选项的脚本,那么选项显然会在没有注意到的情况下进行更改.
是否有一个命令可以放在我的脚本之上将R重置为默认选项?
Pau*_*tra 10
就像@chl所说,你可以在某处保存默认选项,例如在Rdata文件中使用save:
default_options = options()
save(default_options, file = "default_options.rda")
Run Code Online (Sandbox Code Playgroud)
现在,您可以从文件中加载这些默认值并应用它们:
load("default_options.rda")
options(default_options)
Run Code Online (Sandbox Code Playgroud)
但是,我建议不要串行运行R脚本.相反,如果您在脚本之间共享功能,只需创建捕获该功能的函数即可.您使用的脚本始终是自包含的,不受其他先前运行的脚本的影响.您设置的任何选项都是该脚本的本地选项,无需清空工作区或将选项设置为默认值.
请注意,我也从不保存我的工作环境,我总是使用转换原始数据的原始数据和脚本重建我的环境.如果有些部分需要花费很多时间,我会将它们放在一个单独的脚本中,最后Rdata使用该文件保存文件save.然后我使用在主脚本中加载它们load.