我有一个与在 R 中创建 S4 类有关的问题。根据手册,“setClass”函数有一个命名属性“where”,它定义了创建的类的元数据应该存储在哪里。
但是,如果我执行以下操作
> en <- new.env(parent=emptyenv())
> setClass("A", representation(x="numeric"), where=en)
[1] "A"
Warning message:
In getPackageName(where) :
Created a package name, "2012-04-26 12:56:39", when none found
我可以删除 en 使用
> rm(en)
并且我仍然能够使用该课程,例如
> new("A", x=1)
An object of class "A"
Slot "x":
[1] 1
这是为什么?
提前致谢,
斯文