如何获得在(看似)嵌套环境(在 R 中)中搜索的功能?
Posted
技术标签:
【中文标题】如何获得在(看似)嵌套环境(在 R 中)中搜索的功能?【英文标题】:How to get function to search in (seemingly) nested environments (in R)? 【发布时间】:2017-01-11 05:17:30 【问题描述】:当我创建一个使用 mget
调用在 .GlobalEnv 中分配的一个对象名称和在函数环境中分配的另一个对象的简单函数时,我无法让 mget
函数在这两种环境中查看.
例子:
> abc <- 5
>
> f1 <- function(x)
+ bcd <- 6
+ foo <- c('abc','bcd')
+ mget(foo)
+
>
> f1()
Error: value for ‘abc’ not found
有没有办法让这个例子中的mget
函数找到两个对象?
我尝试将 mget
的 envir
参数更改为许多不同的东西,但没有任何运气。
注意:我不想“改变”内部对象的环境(例如,使用<<-
或assign(bcd,envir=.GlobalEnv)
。
【问题讨论】:
【参考方案1】:继承=真
f1 <- function(x)
bcd <- 6
foo <- c('abc','bcd')
mget(foo, inherits=TRUE)
f1()
【讨论】:
以上是关于如何获得在(看似)嵌套环境(在 R 中)中搜索的功能?的主要内容,如果未能解决你的问题,请参考以下文章