Reset R instance Reset R instance r r

Reset R instance


You can remove all variables from your workspace using

rm(list = ls())

You can 'unload' packages with

detach(package:packagename)

EDIT:

You can close all graphics devices with

graphics.off()

You can clear the command editor history with CTRL+L.

If you use Tinn-R as your editor, there is a 'Clear all' button, which clears your workspace and command editor history, and closes graphics devices. (It does not detach packages.)


ANOTHER EDIT:

One other thing that you would have to do to reset R is to close all open connections. It is incredibly bad form to leave open connections lying about, so this is more belt and braces than a necessity. (You can probably fool close_all_connections by opening connections in obscure environments, but in that case you have only yourself to blame.)

is.connection <- function(x) inherits(x, "connection")get_connections <- function(envir = parent.frame()) {  Filter(is.connection, mget(ls(envir = envir), envir = envir))}close_all_connections <- function() {   lapply(c(sys.frames(), globalenv(), baseenv()),       function(e) lapply(get_connections(e), close))}close_all_connections()

As Marek suggests, use closeAllConnections to do this.

ANOTHER EDIT:

In response to Ben's comment about resetting options, that's actually a little bit tricky. the best way to do it would be to store a copy of your options when you load R, and then reset them at this point.

#on R loadassign(".Options2", options(), baseenv())#on resetoptions(baseenv()$.Options2)

If you aren't foresighted enough to set this up when you load R, then you need something like this function.

reset_options <- function(){  is_win <- .Platform$OS.type == "windows"  options(    add.smooth            = TRUE,    browserNLdisabled     = FALSE,    CBoundsCheck          = FALSE,    check.bounds          = FALSE,    continue              = "+ ",    contrasts             = c(      unordered = "contr.treatment",       ordered   = "contr.poly"    ),     defaultPackages       = c(      "datasets",       "utils",       "grDevices",       "graphics",       "stats",      "methods"    ),      demo.ask              = "default",    device                = if(is_win) windows else x11,    device.ask.default    = FALSE,    digits                = 7,    echo                  = TRUE,    editor                = "internal",    encoding              = "native.enc",    example.ask           = "default",    expressions           = 5000,    help.search.types     = c("vignette", "demo", "help"),        help.try.all.packages = FALSE,    help_type             = "text",    HTTPUserAgent         = with(      R.version,       paste0(        "R (",         paste(major, minor, sep = "."),         " ",         platform,         " ",         arch,         " ",         os,         ")"      )    ),    internet.info         = 2,    keep.source           = TRUE,    keep.source.pkgs      = FALSE,    locatorBell           = TRUE,    mailer                = "mailto",    max.print             = 99999,    menu.graphics         = TRUE,    na.action             = "na.omit",    nwarnings             = 50,    OutDec                = ".",    pager                 = "internal",    papersize             = "a4",    pdfviewer             = file.path(R.home("bin"), "open.exe"),    pkgType               = if(is_win) "win.binary" else "source",    prompt                = "> ",    repos                 = c(      CRAN      = "@CRAN@",       CRANextra = "http://www.stats.ox.ac.uk/pub/RWin"    ),     scipen                = 0,    show.coef.Pvalues     = TRUE,    show.error.messages   = TRUE,    show.signif.stars     = TRUE,    str                   = list(      strict.width = "no",      digits.d     = 3,      vec.len      = 4    ),    str.dendrogram.last   = "`",    stringsAsFactors      = TRUE,    timeout               = 60,    ts.eps                = 1e-05,    ts.S.compat           = FALSE,    unzip                 = "internal",    useFancyQuotes        = TRUE,    verbose               = FALSE,    warn                  = 0,    warning.length        = 1000,    width                 = 80,    windowsTimeouts       = c(100, 500)  ))

The options in that function provide a vanilla R session so you might wish to source your Rprofile.site file afterwards to customise R how you like it.

source(file.path(R.home("etc"), "Rprofile.site"))


Basing on the response of @Richie Cotton, comments and more, I think it's worth to consider five elements:

  1. Remove all objects
  2. Unload non-native packages
  3. Close all connections
  4. Restore the default options
  5. Close all graphic devices

So, there it is my simple ResetR function:

ResetR = function() {    # 1) Remove all objects    rm(list = ls(all=TRUE, envir = .GlobalEnv), envir = .GlobalEnv)    # 2) Unload non-native packages.     nat = c(".GlobalEnv", "package:datasets", "package:evd", "package:nortest", "package:MASS", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:methods", "Autoloads", "package:base")    p = search()    for (i in p) {        if (is.na(match(i, nat))) {            try(eval(parse(text=paste0("detach(", i, ", unload=T, force=T)"))), silent=T) # force=T is need in case package has dependency        }    }    # 3) Close all connections    try(closeAllConnections(), silent=T)    # 4) Restore default options    try(options(baseenv()$.Options2), silent=T) # Remember to put assign(".Options2", options(), baseenv()) at the bottom of YOUR_R_HOME\etc\Rprofile.site    # 5) Close all graphic devices    graphics.off()}

hth