考虑(如果rstudio)将在浏览器中打开某些内容的功能,如果y = TRUE在浏览器中和浏览器中y = FALSE.您可以强制whatever在浏览器中打开options(viewer = NULL)(然后需要重置为之前),但我无法使用常规on.exit方法在函数内部使用它.在Windows和osx上测试.
f <- function(x, y = TRUE) {
if (y) {
oo <- getOption('viewer')
on.exit(options(viewer = oo))
options(viewer = NULL)
} else options(viewer = NULL)
print(getOption('viewer'))
DT::datatable(x)
}
g <- function(x, y = TRUE) {
if (y) {
oo <- getOption('viewer')
on.exit(options(viewer = oo))
options(viewer = NULL)
} else options(viewer = NULL)
print(getOption('viewer'))
htmlTable::htmlTable(x)
}
## in rstudio, returns the viewer function
getOption('viewer')
# …Run Code Online (Sandbox Code Playgroud) 如标题中所述,我试图了解如何将所有参数重置options()为其默认设置.我在网上搜索并在?options帮助文件中找不到答案.
我希望答案随时可用,我只是在努力寻找答案.
谢谢.
编辑: 虽然我同意如何将R设置为默认选项?是同一个问题,我没有在其选定的答案中看到我要求的明确/显式解决方案:如何重置 options()为默认值.该线程中的所选答案清楚地说明了如何保存 options()设置并在以后加载它们.
我总是用以下代码开始我的脚本
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重置为默认选项?