R';环境

R';环境,r,R,我想问一下R的环境: 在下一个简单代码中,我创建了局部变量“v1”。 “f1”位于全局环境中,我们可以在键入“environment(f1)”时看到这一点。 我的问题是如何从R控制台访问“v1”。“v1$f1”不起作用。对此有何解释 rm(list = ls()) f1 <- function() { v1 <- 1 } environment(f1) 提前谢谢在调用函数f1之前,局部变量v1不存在,然后当f1退出时,它所在的环境通常会被破坏。但是如果您修改f1,您可以获得

我想问一下R的环境: 在下一个简单代码中,我创建了局部变量“v1”。 “f1”位于全局环境中,我们可以在键入“environment(f1)”时看到这一点。 我的问题是如何从R控制台访问“v1”。“v1$f1”不起作用。对此有何解释

rm(list = ls())
f1 <- function() {
    v1 <- 1
}
environment(f1)

提前谢谢

在调用函数
f1
之前,局部变量
v1
不存在,然后当
f1
退出时,它所在的环境通常会被破坏。但是如果您修改
f1
,您可以获得它:

rm(list = ls())
f1 <- function() {
    v1 <- 1
    environment() # return the local environment
}

f1()$v1

在调用函数
f1
之前,局部变量
v1
不存在,当
f1
退出时,它所在的环境通常会被破坏。但是如果您修改
f1
,您可以获得它:

rm(list = ls())
f1 <- function() {
    v1 <- 1
    environment() # return the local environment
}

f1()$v1

嗯,我通常用
assign('f1',f1,envir=e1)
来做这类事情,但是
环境
确实建议
环境(f1)
环境(f1)嗯,我通常用
assign('f1',f1,envir=e1)
来做这类事情,但是
环境
确实建议
环境(f1)
环境(f1)
环境(f1)
环境(f1)…谢谢,但也请看右边的“相关”部分,[r]中有大量关于环境的问答………谢谢,但也请看右边的“相关”部分,[r]中有大量关于环境的问答。
ls(e1)
rm(list = ls())
f1 <- function() {
    v1 <- 1
    environment() # return the local environment
}

f1()$v1
e1 <- new.env(parent=baseenv())
e1$foo <- 42
bar <- 43 # Global variable, not found through e1

f2 <- function() {
   foo # Finds in e1
   bar # Not found...
}

environment(f2) <- e1
f2() # Error: object 'bar' not found
ls(e1) # "foo"
e1$f2 <- f2
ls(e1) # "f2" "foo"