r - 我怎样才能制作我的 R session Vanilla ?

标签 r environment

这是对上一个问题的澄清的后续行动,How can I ensure a consistent R environment among different users on the same server?

我想从 R 中输入“vanilla”R session ,例如与使用命令 R --vanilla 启动 R 时获得的结果类似.例如,我想编写一个不会被特定用户的自定义设置混淆的脚本。

特别是,我想要以下内容

  • 不读取 R 历史记录、配置文件或环境文件
  • 不会重新加载以前 session 中的数据或对象
  • help("vanilla")不返回任何东西,我对自定义设置的范围不够熟悉,不知道如何摆脱所有这些。

    有没有办法进入新的 Vanilla 环境? ( ?new.env 似乎没有帮助)

    最佳答案

    你不能只是让你当前的 session 成为 Vanilla ,但你可以像这样从 R 中开始一个新的 Vanilla R session

    > .Last <- function() system("R --vanilla")
    > q("no")
    

    我认为您可能会在使用上述内容时遇到问题,因为在 R 重新启动后,脚本的其余部分将不会执行。使用以下代码,R 将运行 .Last在它退出之前。 .Last将告诉它重新启动而不读取站点文件或环境文件,并且不打印启动消息。重新启动后,它将运行您的代码(以及进行其他一些清理)。
    wd <- getwd()
    setwd(tempdir())
    assign(".First", function() {
      #require("yourPackage") 
      file.remove(".RData") # already been loaded
      rm(".Last", pos=.GlobalEnv) #otherwise, won't be able to quit R without it restarting
      setwd(wd)
      ## Add your code here
      message("my code is running.\n")
    }, pos=.GlobalEnv)
    
    assign(".Last", function() {
      system("R --no-site-file --no-environ --quiet")
    }, pos=.GlobalEnv)
    save.image() # so we can load it back when R restarts
    q("no") 
    

    关于r - 我怎样才能制作我的 R session Vanilla ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12540138/

    相关文章:

    r - 使用 ggplot2 根据 R 中的大小缩放网格中的多个饼图

    将特定列中的 NA 替换为同一列中相等键的值

    r - <unescaped bksl>S4method 记录替换函数时出错

    javascript - 从字符串执行 Javascript 代码的概念方法

    php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

    r - 使用条形图分组条形图

    r - 模块中使用的 observeEvent Shiny 函数不起作用

    php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

    http - 何时使用 HTTP 代理

    ruby-on-rails - 有没有办法从 Linux 命令行返回环境变量 RAILS_ENV 的值?