如何获得在(看似)嵌套环境(在 R 中)中进行搜索的功能?

How to get function to search in (seemingly) nested environments (in R)?

当我创建一个使用 mget 的简单函数来调用在 .GlobalEnv 中分配的一个对象名称和在函数环境中分配的另一个对象时,我无法获得 mget在两种环境中查看的功能。

示例:

> abc <- 5
> 
> f1 <- function(x) {
+ bcd <- 6
+ foo <- c('abc','bcd')
+ mget(foo)
+ }
>     
> f1()   
Error: value for ‘abc’ not found

有没有办法让这个例子中的mget函数找到两个对象?

我已经尝试将 mgetenvir 参数更改为许多不同的东西,但没有成功。


注意:我不想"change"内部对象的环境(例如,使用<<-assign(bcd,envir=.GlobalEnv)

继承=TRUE

f1 <- function(x) {
bcd <- 6
foo <- c('abc','bcd')
mget(foo, inherits=TRUE)
}
f1()