如何在R语言中显示或打印Environment(环境)的内容?
解决R中打印自定义环境内容的问题
哈哈,这个坑我之前踩过!默认的print()函数对环境对象确实只会输出内存地址,不过有好几种简单方法能看到环境里的具体内容:
查看对象名称+单个取值:先用
ls()列出环境里的所有对象名,再用get()获取对应的值:# 列出环境e1里的所有对象 ls(e1) # 获取对象a的值 get("a", envir = e1)用rlang自带的专用打印函数:既然你已经在用
rlang包,直接用env_print()就能清晰展示环境的结构和内容,连父环境、对象类型都能看到:rlang::env_print(e1)输出大概是这样的:
<environment: 0x00000000211fbae8>
Parent: <environment: global>
Bindings:
• a:[1:10]
• b:[1:5] 一次性提取所有内容为列表:如果想直接拿到所有键值对,用
as.list()把环境转换成列表就行:as.list(e1)输出会直接展示每个对象的具体值:
$a
[1] 1 2 3 4 5 6 7 8 9 10$b
[1] "a" "b" "c" "d" "e"
至于RStudio的环境面板能看到内容,是因为它内部做了特殊处理,自动解析了环境的绑定关系并展示出来,不像默认的print()只输出环境的基础标识~
内容的提问来源于stack exchange,提问作者PKumar
相关产品推荐
相关产品推荐

