I would like to clear the warnings() list using a command line.
I have tried with no success
> rm(last.warning, envir = baseenv())
Error in rm(last.warning, envir = baseenv()) :
cannot remove variables from the base environment
any idea?
5 Answers 5
Try assign("last.warning", NULL, envir = baseenv())
8 Comments
Error in assign("last.warning", NULL, envir = baseenv()): cannot add binding of 'last.warning' to the base environment. See @mmaechler 's answer below for a workable solution.Just to emphasize what @Richie Cotton mentioned above (the help page now no longer mentions 2.4.0, but): This is assign("last.warning", envir = baseenv()) is really not recommended even though it's been the accepted answer here.
Rather, you should use the much more powerful error handler tools, notably for @BWMorlan's case above, you could use the - several times "advertized"
tryCatch.WE() utility function which catches all warnings and errors and provides results when not error
r <- tryCatch.WE({ ... })
using demo(error.catching) in R to get the function and see it in action,
or
file.show(system.file("demo/error.catching.R"))
to get the commented source.
1 Comment
Take a look at suppressWarnings() to stop the warnings from showing up.
Notice in the help page for warnings that it says:
"....It is undocumented where last.warning is stored nor that it is visible, and this is subject to change. Prior to R 2.4.0 it was stored in the workspace, but no longer...."
3 Comments
warnings().I agree, I want to use a try() and gather up just the warnings generated by that try().
My solution for now is
assign("last.warning", NULL, envir = baseenv())
myFit <- try(...)
warned <- warnings()
assign("last.warning", NULL, envir = baseenv())
Comments
Simply use 'warning(immediate. = FALSE)' E.g.
x<-matrix(1:100,ncol=10)
plot(x,border="blue")
Warning messages:
1: In plot.window(...) : "border" is not a graphical parameter
2: In plot.xy(xy, type, ...) : "border" is not a graphical parameter
3: In axis(side = side, at = at, labels = labels, ...) :
"border" is not a graphical parameter
4: In axis(side = side, at = at, labels = labels, ...) :
"border" is not a graphical parameter
5: In box(...) : "border" is not a graphical parameter
6: In title(...) : "border" is not a graphical parameter
warnings()
Warning messages:
1: In plot.window(...) : "border" is not a graphical parameter
2: In plot.xy(xy, type, ...) : "border" is not a graphical parameter
3: In axis(side = side, at = at, labels = labels, ...) :
"border" is not a graphical parameter
4: In axis(side = side, at = at, labels = labels, ...) :
"border" is not a graphical parameter
5: In box(...) : "border" is not a graphical parameter
6: In title(...) : "border" is not a graphical parameter
> warning(immediate. = FALSE)
Warning message:
> warnings()
Warning message: