在整个项目中重命名 RStudio 上下文敏感的对象
Renaming Objects in RStudio context sensitive within entire Project
我在使用 RStudio 开发 R 项目时遇到问题。我创建了一个对象,后来意识到我想给它起另一个名字。然后我必须手动更改名称,这在较大的项目中很烦人并且经常导致错误,因为我很容易监督一行。 RStudio 的 replace
all
函数与我要替换的名称不太匹配,因为它只在一个文件中这样做,它也不只考虑变量的引用见示例代码:
f <- function(a){
b <- a
return(a+b)
}
a <- 5;
a <- a + f(1)
在该示例中,我想在函数内部重命名 a
only。我必须这样做三次,而 replace
all
会弄乱我的代码 在 函数之外。我不想编辑 a
。 IE。 Visual Studio 有一个使用热键重命名变量的选项:Ctrl
+ .
。然后 Visual Studio 重命名该变量及其在整个项目中的引用, 不 编辑没有对已编辑变量的引用的同名变量。我一直无法在 RStudio 中找到类似的选项。有对应的吗?
RStudio IDE v1.0 包含一个名为 "Rename in scope" 的功能,旨在实现此目的:
This feature makes it easy to rename all instances of a variable. The
tool is context aware; changing m
to m1
won’t change mtcars
to
m1tcars
.
我找不到该功能的文档。虽然当我将光标放在 d
(要替换的变量名)的第一个实例上,然后 select Code
-> Rename in Scope
时,动画 GIF 中的示例仍然有效.但是,当我尝试相同的步骤但从第二个实例开始时,它不起作用。所以显然你需要从赋值变量的地方开始?
## 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,否则下面的示例不起作用。
## Header ####
example <- 1:10
example[1]
我在使用 RStudio 开发 R 项目时遇到问题。我创建了一个对象,后来意识到我想给它起另一个名字。然后我必须手动更改名称,这在较大的项目中很烦人并且经常导致错误,因为我很容易监督一行。 RStudio 的 replace
all
函数与我要替换的名称不太匹配,因为它只在一个文件中这样做,它也不只考虑变量的引用见示例代码:
f <- function(a){
b <- a
return(a+b)
}
a <- 5;
a <- a + f(1)
在该示例中,我想在函数内部重命名 a
only。我必须这样做三次,而 replace
all
会弄乱我的代码 在 函数之外。我不想编辑 a
。 IE。 Visual Studio 有一个使用热键重命名变量的选项:Ctrl
+ .
。然后 Visual Studio 重命名该变量及其在整个项目中的引用, 不 编辑没有对已编辑变量的引用的同名变量。我一直无法在 RStudio 中找到类似的选项。有对应的吗?
RStudio IDE v1.0 包含一个名为 "Rename in scope" 的功能,旨在实现此目的:
This feature makes it easy to rename all instances of a variable. The tool is context aware; changing
m
tom1
won’t changemtcars
tom1tcars
.
我找不到该功能的文档。虽然当我将光标放在 d
(要替换的变量名)的第一个实例上,然后 select Code
-> Rename in Scope
时,动画 GIF 中的示例仍然有效.但是,当我尝试相同的步骤但从第二个实例开始时,它不起作用。所以显然你需要从赋值变量的地方开始?
## 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,否则下面的示例不起作用。
## Header ####
example <- 1:10
example[1]