大規模なデータセットの分析ワークフローを構築していますが、まず小規模なデータセットで検証する必要があります。しかし新しい環境に切り替える方法とそれに固執するには?
sample_data<-new.env()
attach(sample_data)
# downloading sample_data sets
sample_df_1 <- some_download_function(parameters1)
sample_df_2 <- some_download_function(parameters2)
...
# doing some stuff with them
...
私はこれを行う際に、sample_df_1
とsample_df_2
は、地球環境に保存されます:私は何をしたいのですが、このような環境の中でそれらを置くことによって、実際のデータセットから、私の「サンプリング」データセットを分離することです私のsample_data
環境ではなくもちろん、私はassign(..., envir=sample_data)
を使うことができますが、それはやや面倒です。最終的なコードにそれらを表示したくありません。
with
を使用するのは理想的ではありません。その内部のコード行は1つずつ実行できないため、開発段階ではむしろ不便です。
私は何を達成したいと考えていますが、たとえば、debug
とundebug
などの行動と同じ種類である:
switch_to_env(sample_data)
# Everything done here will be done within environment "sample_data"
# And the lines of codes here can be executed one by one
switch_to_env(.GlobalEnv)
@Gregorが良いだろう「オプションを設定する」、指摘したように私が探しているものを説明し:R REPLが式を評価する環境をユーザーが指定できるオプション。
ありがとう!
私は 'with'について理解していますが、'(sample_data、{a < - 1; b < - 2}))で '' – jenesaisquoi
'の式を実行できます。私が開発したいのは、それらをデバッグするために 'with()'を書く必要があります。なぜなら、 'with'のコードは全体としてしか評価できないからです。準備が整ったら、 'with'関数からそれらをコピーしなければなりません。私の意見では、提案されたアプローチを使用する方がはるかに迅速で読みやすいでしょう。 – Benny
問題は、Rの環境がそのように動作しないことです。割り当てには異なる「デフォルト」環境を割り当てることはできません。 Rは関数型言語であり、通常、関数を使用してスコープ/環境を管理します。ですから、環境をとり、恐らくそこに 'with()'をネストする関数を書くべきです。 – MrFlick