2013-04-11 110 views
4

我总是以我的脚本:如何将R设置为默认选项?

rm(list=ls()) 

清除我的工作区,以避免不同脚本之间的冲突。不过,我正在寻找一种将所有更改的选项设置为默认状态的方法。例如,在一些脚本,我需要通过设置来改变SS类型:

options(contrasts=c(unordered="contr.sum", ordered="contr.poly")) 

在其他脚本,我需要使用默认选项(并且由于它是默认的,我不直接指定它)是:

options(contrasts=c(unordered="contr.treatment", ordered="contr.poly")) 

但是,如果之前刚刚使用了更改了选项的脚本,该选项显然会在没有我注意的情况下更改。

是否有一个命令可以放在我的脚本之上,将R重置为默认选项?

+0

是的,类似于'op < - options(...);你的东西在这里;选项(OP)'。 – chl 2013-04-11 10:56:20

回答

10

就像@chl说的那样,您可以将您的默认选项保存在某个地方。在Rdata文件中使用save

default_options = options() 
save(default_options, file = "default_options.rda") 

现在你可以加载从文件中这些默认值,并将其应用:

load("default_options.rda") 
options(default_options) 

不过,我会建议对运行v脚本顺序。相反,如果您在脚本之间共享功能,只需创建捕获该功能的功能即可。您工作的脚本始终是独立的,不受其他以前运行的脚本的影响。您设置的任何选项对于该脚本都是本地的,并且不需要清空工作空间或将选项设置为默认。

请注意,我也永远不会保存我的工作环境,我总是使用转换原始数据的原始数据和脚本来重建我的环境。如果有些部分花费很多时间,我将它们放在一个单独的脚本中,最后使用save保存Rdata文件。然后我使用load将它们加载到主脚本中。