Какую среду я должен использовать с%>% mget
Я собираю некоторые объекты по имени, чтобы сохранить их в виде списка в 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
).
1 ответ
Решение
Вы могли бы сойти с рук parent.env(environment())
, как в
with( e, { c("a","b") %>% mget(env=parent.env(environment())) })