如何检查R环境是否存在

时间:2013-12-03 16:25:28

标签: r

我想检查R环境是否存在,但标准exists()函数不接受环境作为参数:

storage <- new.env(parent = emptyenv())

storage
#<environment: 0xeb3195c>

exists(storage)
#Error in exists(storage) : invalid first argument

有没有办法检查环境是否已定义?或者这是一个本质上错误的事情? 谢谢!

2 个答案:

答案 0 :(得分:11)

exists接受一个字符参数:

exists("storage")

虽然请注意,即使TRUE不是环境,也会返回storage。你要么必须像SeñorO建议的那样使用is.environment进行检查,要么通过mode="environment"

exists("storage", mode="environment")

答案 1 :(得分:6)

除非我遗漏了什么,否则我想:

is.environment(storage)

会做同样的事情。如果是环境,则返回TRUE,如果不是,则返回FALSE(即使对象存在但属于另一个类)。