gpt4 book ai didi

r - 确定匿名函数中函数的命名空间

转载 作者:行者123 更新时间:2023-12-04 10:37:30 24 4
gpt4 key购买 nike

我的问题与这个问题非常相似:How do you you determine the namespace of a function?

我们可以通过 environment 获取函数的环境,并可能将其与 getNamespaceName 结合使用:

environment(mean)
#> <environment: namespace:base>
getNamespaceName(environment(mean))
#> [1] "base"

我想为匿名函数实现类似的功能:
anon_f <- function(x) mean(x)

这个函数的环境显然是全局环境,没有命名空间:
environment(anon_f)
#> <environment: R_GlobalEnv>

是否有可能以某种方式“进入”匿名函数并在匿名函数中获取函数的环境/命名空间?

最佳答案

您可以使用 pryr 库,它是用于计算该语言的工具集合。

library(pryr)
f <- fget(fun_calls(anon_f))
getNamespaceName(environment(f))
# [1] "base"

对于函数体中的多个调用,您必须使用循环。我不经常使用这个库,所以可能有更简单的方法。

关于r - 确定匿名函数中函数的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50410811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com