如何在R中检查变量是否存在/将变量分配给特定函数的环境?

如何在R中检查变量是否存在/将变量分配给特定函数的环境?,r,environment,R,Environment,我有两个功能,分配和检查。我试图使用assign\u fun检查check\u fun中是否存在变量。如果它不存在,那么我想在check_fun环境中创建该变量,而不是在全局环境中 我知道exists和assign函数有一个环境参数…但不确定要在其中放什么。 这是我的密码: assign_fun如果要将分配的变量放入调用者函数的环境中,可以在assign中使用pos=sys.frame-1,例如 如果要将分配的变量放入调用者函数的环境中,可以在分配中使用pos=sys.frame-1,例如 事实

我有两个功能,分配和检查。我试图使用assign\u fun检查check\u fun中是否存在变量。如果它不存在,那么我想在check_fun环境中创建该变量,而不是在全局环境中

我知道exists和assign函数有一个环境参数…但不确定要在其中放什么。 这是我的密码:


assign_fun如果要将分配的变量放入调用者函数的环境中,可以在assign中使用pos=sys.frame-1,例如


如果要将分配的变量放入调用者函数的环境中,可以在分配中使用pos=sys.frame-1,例如

事实证明,输入为sys.frame-1时,pos和where参数起作用。这是一个很好的关于环境划分的教育练习

该代码现在适用于这些更改:

结果表明,当输入为sys.frame-1时,pos和where参数起作用。这是一个很好的关于环境划分的教育练习

该代码现在适用于这些更改:


谢谢你的回答。不幸的是,我特别提到我想在exists\u test的环境而不是全局环境中创建变量。@Nova请检查我的updateAwesome。exists是否有类似的pos参数?@Nova可能在哪里=。。。?我不敢肯定,谢谢你的回答。不幸的是,我特别提到我想在exists\u test的环境而不是全局环境中创建变量。@Nova请检查我的updateAwesome。exists是否有类似的pos参数?@Nova可能在哪里=。。。?我不确定
assign(x = "e", value = 5, pos = sys.frame(-1))