鉴于以下列表,我是否需要在更清洁的代码或自动完成之间进行选择,还是我可以同时选择?我在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
或者是否有第三种可能性,例如首先用反引号符号编写所有代码,然后找到一种方法来自动用[[
和]]
替换它们?
答案 0 :(得分:1)
幸运的是,它可以同时具有自动完成和格式良好的代码。在RStudio中,自动填充适用于$
和[[
,但功能略有不同。
要使用$
进行索引,在输入$
后会立即触发自动填充列表。
但是,对于[[
,在显示自动填充列表之前按tab
是必要的。与$
一样,这可以深入多层次。
@docendo discimus
上面的评论有助于找到答案。