如何在R中显示或打印环境内容

PKu*_*mar 6 r

我希望这个问题不会重复,因为我搜索它没有找到任何答案(如果它是重复的,请让我知道我将其删除)。

我正在尝试打印/显示环境的内容,但是无法执行。

library(rlang)
e1 <- env(a = 1:10, b= letters[1:5])
Run Code Online (Sandbox Code Playgroud)

当我使用时print,它只是给我内存地址,而不是该环境的内容(名称和值)。

 > print(e1)
<environment: 0x00000000211fbae8>
Run Code Online (Sandbox Code Playgroud)

注意:我可以看到环境。R studio环境选项卡中的内容,我正在使用R版本:“ R版本3.4.2”和rlang:rlang_0.2.0

我的问题是:打印环境内容的正确功能什么,对不起,这个问题可能很幼稚,但我无法弄清楚。提前致谢

Ron*_*hah 5

我们可以使用getwith envir参数来获取特定环境中的值

sapply(ls(e1), function(x) get(x, envir = e1))

#$a
# [1]  1  2  3  4  5  6  7  8  9 10

#$b
#[1] "a" "b" "c" "d" "e"
Run Code Online (Sandbox Code Playgroud)

哪里

ls(e1) # gives
#[1] "a" "b"
Run Code Online (Sandbox Code Playgroud)

  • 另外,我认为as.list可能适用于环境(目前无法测试)。 (4认同)