【问题标题】:R: setting environment names as arguments to new.env()R:将环境名称设置为 new.env() 的参数
【发布时间】:2018-03-28 12:42:50
【问题描述】:

有没有办法在调用new.env()时将“indian”、“pizza”和“ramen”这三个名字初始化为参数?

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

这可以替代:

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

【问题讨论】:

    标签: r environment-variables


    【解决方案1】:

    这里有一些替代方案:

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

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

    2) 另一种可能性是像这样使用local

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

    3) proto 包创建的 proto 对象实际上是环境,因此:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      相关资源
      最近更新 更多