我想检查R环境是否存在,但标准exists()函数不接受环境作为参数:
storage <- new.env(parent = emptyenv())
storage
#<environment: 0xeb3195c>
exists(storage)
#Error in exists(storage) : invalid first argument
有没有办法检查环境是否已定义?或者这是一个本质上错误的事情? 谢谢!
答案 0 :(得分:11)
exists
接受一个字符参数:
exists("storage")
虽然请注意,即使TRUE
不是环境,也会返回storage
。你要么必须像SeñorO建议的那样使用is.environment
进行检查,要么通过mode="environment"
:
exists("storage", mode="environment")
答案 1 :(得分:6)
除非我遗漏了什么,否则我想:
is.environment(storage)
会做同样的事情。如果是环境,则返回TRUE
,如果不是,则返回FALSE
(即使对象存在但属于另一个类)。