2015-12-13 2 views
14

RStudioを使用してRプロジェクトを開発する際に問題があります。私はオブジェクトを作成し、後でそれを別の名前を付けたいと思います。私は手動で名前を変更する必要があります。大規模なプロジェクトでは、1つの行を簡単に監視するので、迷惑で、多くの場合エラーが発生します。RStudioのオブジェクトの名前をプロジェクト全体の状況に応じて変更する

f <- function(a){ 
    b <- a 
return(a+b) 
} 
a <- 5; 
a <- a + f(1) 
:それはだけなので、一つのファイルに、それはまた、変数を参照してくださいサンプルコードの参照のみを考慮していないんとしてRStudioの replace all機能はかなり、私は交換してくださいしようとしている名前と一致しません

そのサンプルでは、​​機能内にaのみと名前を変更したいと思います。私はreplaceallがコードの外にの機能を駄目にするのに対して、それは3回する必要があります。私はそれを編集したくない。a。私。 Visual Studioには、ホットキー:Ctrl + .を使用して変数の名前を変更するオプションがあります。次に、を編集しないで、プロジェクト全体の変数とその参照の名前をに変更します。名前の変更された変数は編集された変数を参照しません。私はRStudioのようなオプションを見つけることができませんでした。同等品はありますか?

+1

検索フィールドの直下にある「単語全体」チェックボックスを探しているとしますが、これは1つの「a」だけが一致することを保証しますが、単語がシンボルに近い場合にも機能します。例えば。それは 'a <--'には一致しますが、' va < - 'または' ab <--'には一致しません。 – Molx

+1

似たような質問が既に寄せられています: http://stackoverflow.com/questions/14688446/search-all-open-files-in-r-studio – Raad

+0

「単語全体」オプションもプロジェクト全体をナビゲートする機能私が探している機能は、変数の参照を自動的に検索し、同じ名前の変数ではなく単に変数で置き換えるものです。あなたの提案は私の例では機能しません。私は関数 'c'の中で' a'の名前を変更したいだけです。 –

答えて

21

RStudio IDE v1.0は、これを行うことを目指し、「スコープ内で名前の変更」と呼ばれる機能が含まれています

この機能は、変数のすべてのインスタンスの名前を変更することが容易になります。 ツールはコンテキストを認識します。 mからm1を変更すると、mtcarsから m1tcarsに変更されません。

RStudio Rename in Scope animated GIF

私は、機能のドキュメントを見つけることができません。アニメーションGIFの例は、d(置換する変数名)の最初のインスタンスにカーソルを置き、Code - >Rename in Scopeを選択すると機能します。しかし、私は同じ手順を試みるが、2番目のインスタンスから開始すると、動作しません。だから、あなたは変数が割り当てられている場所から始める必要がありますか?

実際には、機能が動作しないようにするバグがまだあります。たとえば、ヘッダーが削除されない限り、以下の例は機能しません。

## Header #### 
example <- 1:10 
example[1] 
+0

この機能を有効にしようとすると、私はこの質問につながりました。誰もこの新機能の使い方に関する文書を見つけることができましたか? – BLT

+0

答えをありがとう、私は(潜在的に)非常に便利な機能を見つける。しかし、それは限られている。あなたが説明した問題からAppartは、スコープが1つのファイルに限定されていることが特に問題であることを発見しました。つまり、この機能を使用して、別のファイルで定義されているオブジェクトの変数の名前を編集すると、その名前は選択したスクリプトでのみ変更されます。 –