【发布时间】:2011-09-15 07:56:03
【问题描述】:
我使用了很多包,我知道有些功能被屏蔽了,因为它们存在于几个不同的包中。 有没有办法获取重复函数(或屏蔽函数)的列表?
理想的情况是有一个重复函数的列表,并为每个函数提供它所在的包的列表。
【问题讨论】:
标签: r duplicates packages mask
我使用了很多包,我知道有些功能被屏蔽了,因为它们存在于几个不同的包中。 有没有办法获取重复函数(或屏蔽函数)的列表?
理想的情况是有一个重复函数的列表,并为每个函数提供它所在的包的列表。
【问题讨论】:
标签: r duplicates packages mask
在 R 基础中:
conflicts(detail=TRUE)
并找到包含一个版本的环境列表
getAnywhere(x = "functionA")
注意:getAnywhere 还可以找到未导出的函数。因此不会产生冲突。
使用以下方法可以获得更好(更简单)的结果:
x = "functionA"
names(which(sapply(search(), FUN = function(env) exists(x, env, inherits = FALSE, mode = "function"))))
【讨论】:
getAnywhere。我编辑了答案