39

RStudio を使用して R プロジェクトを開発するときに問題があります。私はオブジェクトを作成し、後でそれに別の名前を付けたいことに気付きました。次に、名前を手動で変更する必要があります。大規模なプロジェクトでは、1 行を簡単に監視するため、煩わしく、エラーが発生することがよくあります。RStudioのreplace all機能は、置き換えようとしている名前と完全には一致しません。これは、1 つのファイルでのみ行うためです。また、変数の参照のみを考慮していないため、サンプル コードを参照してください。

f <- function(a){
    b <- a
return(a+b)
}
a <- 5;
a <-  a + f(1)

a そのサンプルでは、​​関数内のみ名前を変更したいと考えています。関数の外側replace allでコードを台無しにする一方で、それを 3 回行う必要があります。私はそれを編集したくありません。つまり、Visual Studio には、ホットキー+を使用して変数の名前を変更するオプションがあります。次に、Visual Studio は、編集された変数への参照を持たない同じ名前の変数を編集せずに、プロジェクト全体で変数とその参照の名前を変更します。RStudio でそのようなオプションを見つけることができませんでした。同等のものはありますか?aCtrl.

4

1 に答える 1

60

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

この機能により、変数のすべてのインスタンスの名前を簡単に変更できます。このツールはコンテキストに対応しています。に変更mしても には変更され m1ません。mtcarsm1tcars

RStudio Rename in Scope アニメーション GIF

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

## Example from animated GIF
library(dplyr)
library(magrittr)
library(ggplot2)

d <- mtcars %>%                      ## Instance 1
  filter(cyl > 4) %>%
  select(hp, mpg)

ggplot(data = d, aes(x=hp, y=mpg)) + ## Instance 2
  geom_point() +
  geom_smooth()

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

## Header ####
example <- 1:10
example[1]
于 2016-11-19T05:07:55.930 に答える