我想使用命令行清除warnings()列表。R:如何清除所有警告
我曾尝试没有成功
> rm(last.warning, envir = baseenv())
Error in rm(last.warning, envir = baseenv()) :
cannot remove variables from the base environment
什么想法?
我想使用命令行清除warnings()列表。R:如何清除所有警告
我曾尝试没有成功
> rm(last.warning, envir = baseenv())
Error in rm(last.warning, envir = baseenv()) :
cannot remove variables from the base environment
什么想法?
尝试assign("last.warning", NULL, envir = baseenv())
看看suppressWarnings()
来阻止显示的警告。在help page for warnings
注意,它说:
” ......这是无证其中 last.warning存储也不是说这是 可见,这是受 改变之前。 [R 2.4.0它被存储在工作区 ,但不再......”
比尔,你的第二个链接不会为任何人谁不具备R-帮助服务器上的回送接口上的端口22913运行工作。 – 2011-04-20 03:33:57
我看了这个功能,但我仍然想要有警告。我只是想在某个时候清理堆栈。 – RockScience 2011-04-20 03:35:41
链接现已修复。 – 2011-04-20 09:22:24
我同意,我婉t使用try()并收集该try()生成的警告。
我现在的解决方案是
assign("last.warning", NULL, envir = baseenv())
myFit <- try(...)
warned <- warnings()
assign("last.warning", NULL, envir = baseenv())
感谢它是完美的 – RockScience 2011-04-20 03:38:24
工程像魔术。 – TMS 2013-07-26 06:30:42
我同意这是正确的答案,但我会敦促开始用户在使用这样的命令之前思考。这些用户试图做什么?在修改一个底层变量之前要考虑一下(对于你的C++用户来说,认为是“私有”)。如果你想要一个新的R会话,开始一个新的R会话。使用这个和rm(list = ls())不会让你一个。相反,如果你想删除不正确的警告并且不应该解决(你是否确定这个?),那么应该考虑在相应的函数中使用suppressWarnings()。否则,你可能会错过重要的警告。 – scottkosty 2013-12-29 02:26:31