【问题标题】:How to get function to search in (seemingly) nested environments (in R)?如何获得在(看似)嵌套环境(在 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函数找到两个对象?

我尝试将 mgetenvir 参数更改为许多不同的东西,但没有任何运气。


注意:我不想“改变”内部对象的环境(例如,使用&lt;&lt;-assign(bcd,envir=.GlobalEnv)

【问题讨论】:

    标签: r function user-defined-functions environment


    【解决方案1】:

    继承=真

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      相关资源
      最近更新 更多