Переименование объектов в контексте RStudio, чувствительном ко всему проекту

у меня проблема при разработке проекта R с использованием RStudio. Я создаю объект, а потом понимаю, что хочу дать ему другое имя. Затем я должен вручную изменить имя, что в больших проектах раздражает и часто приводит к ошибкам, так как я легко контролирую одну строку. The replace all функция RStudio не совсем соответствует имени, которое я пытаюсь заменить, поскольку она делает это только в одном файле, она также не учитывает только ссылки переменной см. Пример код:

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

в этом примере, я хотел бы переименовать a только внутри функции. Мне придется сделать это трижды, пока ... --1--> all испортил бы мой код за пределами функции. Я не хочу редактировать это a. Т. е. Visual Studio имеет возможность переименования переменной с помощью горячей клавиши:Ctrl + .. Затем Visual Studio переименовывает переменную и ее ссылки во всем проекте,без редактирование с одинаковым именем переменные, которые не имеют ссылки на отредактированную. Я не смог найти такой вариант в RStudio. Есть ли эквивалент?

1 ответов


RStudio IDE v1.0 включает функцию под названием "переименовать в области", которая направлена на это:

эта функция позволяет легко переименовывать все экземпляры переменной. Этот инструмент контекстно осведомлен; изменение m to m1 не менять mtcars в m1tcars.

RStudio Rename in Scope animated GIF

Я не могу найти документацию на эту функцию. Пример из анимированного GIF работает, хотя, когда я помещаю курсор на первый экземпляр d (имя переменной для замены), а затем выберите Code ->Rename in Scope. Однако, когда я пытаюсь выполнить те же шаги, но начиная со второго экземпляра, это не работает. Итак, по-видимому, вам нужно начать с места, где назначена переменная?

## 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]