Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 与%>;%一起使用的环境是什么mget_R_Magrittr - Fatal编程技术网

R 与%>;%一起使用的环境是什么mget

R 与%>;%一起使用的环境是什么mget,r,magrittr,R,Magrittr,我正在按名称收集一些对象,以保存为RDS中的列表: A = 1 B = 2 mget(c("A","B")) 如果我想要管道 library(magrittr) c("A","B") %>% mget # nope c("A","B") %>% mget(env = globalenv()) # ok 但是如果我在某个环境中工作,我不想重新键入它的名称 e = new.env() e$a = 1 e$b = 2 with(e, { # d

我正在按名称收集一些对象,以保存为RDS中的列表:

A = 1
B = 2
mget(c("A","B"))
如果我想要管道

library(magrittr)
c("A","B") %>% mget                    # nope
c("A","B") %>% mget(env = globalenv()) # ok
但是如果我在某个环境中工作,我不想重新键入它的名称

e = new.env()
e$a = 1
e$b = 2
with(e, {
  # do some stuff, then...
  c("a","b") %>% mget
})

我假设我应该键入
%%>%mget(env=something)
,但我不知道是什么(除了
e
)。

您可能会避开
parent.env(environment())
,如

with( e, { c("a","b") %>% mget(env=parent.env(environment())) })

我问这个问题更多的是出于好奇,而不是出于一时的需要……呵呵,所以在阅读了Richard Scriven的答案后,我尝试了每一位家长。frame(n)并发现n=6有效。算了吧,谢谢!新变化:我可以做这样的工作吗<代码>嗯,不管怎样,如果你不知道或者不想扩展答案来涵盖这一点,我可以发布一个新问题。除了
mmget@Frank yea之外,我无法理解这听起来很棘手。如果在那里定义
mmet
,它的封闭环境将是全局的,因此它的父级将是基础。
环境
的计算需要延迟到管道环境包装器的内部。