2017-10-16 82 views
3

有没有办法在调用new.env()时初始化三个名称“indian”,“pizza”和“ramen”作为参数?R:设置环境名称作为参数new.env()

eats <- new.env(
    indian = "8elements", 
    pizza = "blue line", 
    ramen = "orenchi") 

这将是一个替代方案:

eats <- new.env() 
eats$indian = "8elements" 
eats$pizza = "blue line" 
eats$ramen = "orenchi" 

回答

5

这里有一些选择:

1)创建一个列表,并将其转换为环境

eats <- list2env(list(
    indian = "8elements", 
    pizza = "blue line", 
    ramen = "orenchi")) 

2)另一个po ssibility是使用local这样的:

eats <- local({ 
    indian = "8elements" 
    pizza = "blue line" 
    ramen = "orenchi" 
    environment() 
}) 

3)原癌包创建其实际上环境所以原对象:

library(proto) 
eats <- proto(
    indian = "8elements", 
    pizza = "blue line", 
    ramen = "orenchi")