2017-02-01 2 views
1

eが環境オブジェクトであるとします。環境をインポートするには?

eのコンテンツを現在の環境にインポートする簡単な方法はありますか(大文字と小文字を区別して作成または上書きすることができます)。お使いの環境でのものの名前の上に

+3

であることを考え出し。 – Frank

+3

'list2env(as.list(e)、.GlobalEnv)'も動作するはずです。 – nrussell

+1

なぜあなたはこれが必要だと思いますか? – Roland

答えて

2

ループ、グローバル環境で同じ名前と値で物事を作成します。アクションで

lapply(names(e),function(n){assign(n,get(n,env=e),env=.GlobalEnv)}) 

> foo = "global foo" 
> e = new.env() 
> e$foo="from env" 
> e$bar = 1234 
> foo 
[1] "global foo" 
> lapply(names(e),function(n){assign(n,get(n,env=e),env=.GlobalEnv)}) 
[[1]] 
[1] "from env" 

[[2]] 
[1] 1234 

> foo 
[1] "from env" 

これがあれば、物事を壊すかもしれません環境では...私は本当にそれを考えていませんでした....

これは難しい方法であるように見えますが、list2env(as.list(e), .GlobalEnv)は見えますそれは1つでそれを行うように。私はそのためにそれを使ったことがないのにnrusselさんのコメントに基づいて

1

は、私は、おそらく ``)(添付何私が探していることは

list2env(as.list(e), envir = environment()) 
関連する問題