0

我有一个带有数据对象 (.rda) 的包,该数据对象最初是由另一个包创建的,并且似乎引用了它的原始命名空间。

手册页load()解释:

对象可以与命名空间的引用一起保存,通常作为函数或公式环境的一部分。从 R 3.1.0 开始,即使名称空间不可用,也可以加载此类对象:它被对全局环境的引用替换,并带有警告。警告标识具有此类引用的第一个对象(但可能有多个)。

我需要删除此引用,因为它会导致在检查包时引发警告。我尝试加载并重新保存对象,但看不到如何修改命名空间。有什么建议么?

编辑:

该对象是一个“网络”。我还没有想出另一个例子,但应该能够重现相同的例子:

install.packages('ndtv')
library(ndtv)
loadedNamespaces()
[1] "animation"      "base"           "datasets"       "graphics"      
[5] "grDevices"      "methods"        "ndtv"           "network"       
[9] "networkDynamic" "sna"            "statnet.common" "stats"         
[13] "tools"          "utils"
data(msm.sim)
loadedNamespaces()
[1] "animation"      "base"           "datasets"       "ergm"          
[5] "graphics"       "grDevices"      "methods"        "ndtv"          
[9] "network"        "networkDynamic" "sna"            "statnet.common"
[13] "stats"          "tools"          "utils" 

注意添加了“ergm​​”命名空间

4

1 回答 1

1

我想我已经通过创建一个新的网络对象并将对象的每个命名元素复制msm.sim到新对象,然后将新对象重新保存在旧对象上来解决了这个问题。也许命名空间附件是msm.sim由 ergm 包生成时附加的函数触发的,所以在调用对象时我看不到它edit()?一定会有更好的办法。我仍然认为,如果可以将命名空间触发元素附加到一个对象,那么应该有列出它们是什么以及它们附加在哪里的功能。

于 2013-08-09T21:22:50.100 回答