【发布时间】:2013-11-12 19:09:47
【问题描述】:
有没有办法以编程方式区分包环境和非包环境对象?例如,下面的对象x 和y 都是环境,具有相同的类和属性。
x <- as.environment(cars)
y <- getNamespace("graphics")
但是从print的方法来看还是有区别的:
> print(x)
<environment: 0x1d38118>
> print(y)
<environment: namespace:graphics>
现在假设我有一个任意对象,我如何确定它是两者中的哪一个(不查看print 的输出)?我想知道这一点以确定如何将对象存储在磁盘上。在前者的情况下,我需要存储环境的列表表示(可能还有它的父母),但对于后者,我只需要存储包的名称和版本。
【问题讨论】: