使用RStudio中的列表进行代码自动完成

时间:2016-10-19 08:34:43

标签: r autocomplete rstudio

鉴于以下列表,我是否需要在更清洁的代码或自动完成之间进行选择,还是我可以同时选择?我在MacOS 10.10.5上使用最新版本的RStudio。

> l <- list()
> l$`__a` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
> l$`__b` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
> l$`__c` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )

自动填充,但带有反引号符号(不太干净,编程操作更难):

> l$`__a`
   __ID col
1     i   u
2     4   V
3     b   Y
4     j   B
5     k   d
6     Z   Q
7     T   H
8     f   A
9     j   Y
10    k   P

使用[运算符和字符串(更干净,更容易以编程方式操作,但没有自动完成):

> l[["__a"]]
   __ID col
1     i   u
2     4   V
3     b   Y
4     j   B
5     k   d
6     Z   Q
7     T   H
8     f   A
9     j   Y
10    k   P

或者是否有第三种可能性,例如首先用反引号符号编写所有代码,然后找到一种方法来自动用[[]]替换它们?

1 个答案:

答案 0 :(得分:1)

幸运的是,它可以同时具有自动完成和格式良好的代码。在RStudio中,自动填充适用于$[[,但功能略有不同。

要使用$进行索引,在输入$后会立即触发自动填充列表。

但是,对于[[,在显示自动填充列表之前按tab是必要的。与$一样,这可以深入多层次。

@docendo discimus上面的评论有助于找到答案。