小编Fáb*_*bio的帖子

更改其环境后,功能不起作用

我想调用增援来帮助解决这个错误,如下所示:

首先我创建了我的环境:

envizito <- new.env(parent = emptyenv())
attr(envizito, "name") <- "envizito"
Run Code Online (Sandbox Code Playgroud)

并分配了一个名为的新变量aaa:

envizito$aaa <- 12
Run Code Online (Sandbox Code Playgroud)

我创建了一个函数:

FUNn <- function() {print(envizito$aaa)}

environment(FUNn)
# <environment: R_GlobalEnv>
Run Code Online (Sandbox Code Playgroud)

然后,我改变了它的环境envizito:

environment(FUNn) <- envizito

environment(FUNn)
# <environment: 0xc20b0a8>
#attr(,"name")
#[1] "envizito"
Run Code Online (Sandbox Code Playgroud)

但是在通话后FUNn()它显示以下错误:

FUNn()
# Error in { : could not find function "{"
Run Code Online (Sandbox Code Playgroud)

PS:虽然environment(FUNn)指向内存中的同一个地方,但在我打电话时却没有出现ls()

ls(envir = envizito, all.names = TRUE)
# [1] "aaa"
Run Code Online (Sandbox Code Playgroud)

任何意见和建议将不胜感激!感谢您的关注.

environment r function

2
推荐指数
1
解决办法
39
查看次数

标签 统计

environment ×1

function ×1

r ×1