Переименование объектов в контексте 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
tom1
не менятьmtcars
вm1tcars
.
Я не могу найти документацию на эту функцию. Пример из анимированного 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]