使用RStudio开发R项目时遇到问题。我创建了一个对象,然后意识到,我想给它另一个名字。然后,我必须手动更改名称,这在大型项目中很烦人并经常导致错误,因为我很容易监督一行。 RStudio的replace
all
函数与我要替换的名称完全匹配,因为它只在一个文件中这样做,它也不仅仅考虑引用变量见示例代码:
f <- function(a){
b <- a
return(a+b)
}
a <- 5;
a <- a + f(1)
在该示例中,我想在功能中重命名a
。我必须这么做三次,而replace
all
会使我的代码搞砸这个函数。我不想编辑a
。即Visual Studio可以使用热键重命名变量:Ctrl
+ .
。然后,Visual Studio在整个项目中重命名变量及其引用,不用编辑同名的变量,这些变量不会引用已编辑的变量。我还没能在RStudio中找到类似的选项。有没有等价的?
答案 0 :(得分:36)
RStudio IDE v1.0包含一项名为&#34;在范围内重命名&#34;旨在做到这一点:
此功能可以轻松重命名变量的所有实例。该 工具是上下文感知;将
m
更改为m1
不会将mtcars
更改为m1tcars
。
我找不到该功能的文档。当我将光标放在d
的第一个实例(要替换的变量名)上,然后选择Code
- &gt;时,动画GIF的示例可以正常工作。 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]