R 抑制加载时的冲突行为不会影响依赖包
TL;DR:不应该R 抑制加载时的冲突行为不会影响依赖包,r,warnings,packages,R,Warnings,Packages,TL;DR:不应该warn.conflications=FALSE也抑制相关包的警告 想象一下,当我们使用library或require附加一个包pkg1时,出现了一种情况,它与例如package:base或.GlobalEnv冲突。默认情况下,我们将看到一条警告: library(zoo) # has a warning about as.Date 这可以被抑制: detach("package:zoo", unload = T) library(zoo, warn.conflicts =
warn.conflications=FALSE
也抑制相关包的警告
想象一下,当我们使用library
或require
附加一个包pkg1
时,出现了一种情况,它与例如package:base
或.GlobalEnv
冲突。默认情况下,我们将看到一条警告:
library(zoo)
# has a warning about as.Date
这可以被抑制:
detach("package:zoo", unload = T)
library(zoo, warn.conflicts = F)
# does not have a warning
现在,让我们来看看pkg2
,它依赖于pkg1
并加载它。假设pkg2也有冲突。将pkg2
与warn.conflications=F
附加在一起会抑制来自pkg1
和pkg2
的警告,这是很自然的,但事实并非如此:
detach("package:zoo", unload = T)
as.xts <- function() {cat("dummy")}
library(xts)
# has warnings about both as.Date and as.xts
detach("package:xts", unload = T)
detach("package:zoo", unload = T)
library(xts, warn.conflicts = F)
# still has a warning about as.Date (?!)
PPS我已经检查了
库的源代码
:警告。冲突
只使用一次,如果为真,则调用检查冲突
,但我没有看到它被传递到其他任何地方。这些不一定是警告。许多是包启动消息。你在图书馆中尝试过安静地=TRUE
吗?@RichardScriven啊,是的,忘了提那件事。是的,我在脚本中使用了它,它不会影响我描述的行为。好的。是的,他们会很痛苦plyr
和dplyr
在我加载它们时会填满我的整个屏幕。@RichardScriven完全正确,而在交互式会话中,这可能是可以容忍的,因为Rscript是外部调用的,我想去掉它以保持错误日志相对干净。
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
other attached packages:
[1] xts_0.9-7 zoo_1.7-11