R中的字典数据结构

15 lookup dictionary r list

在R中,我有,例如:

> foo <- list(a=1,b=2,c=3)
Run Code Online (Sandbox Code Playgroud)

如果我打字foo,我得到:

$a
[1] 1

$b
[1] 2

$c
[1] 3
Run Code Online (Sandbox Code Playgroud)

如何查看foo仅获取"密钥"列表?在这种情况下,(a,b,c).

ctb*_*own 17

R列表可以具有命名元素,因此可以用作字典结构.你可以这样做:

> names(foo)
[1] "a" "b" "c"
Run Code Online (Sandbox Code Playgroud)

如果您正在寻找字典结构,您可能还会考虑使用hash提供Python和Perl 的包,如字典/哈希,以及预期的功能,例如keys,您可以这样说:

keys(hash)
Run Code Online (Sandbox Code Playgroud)

在性能方面,由于散列的成本,列表用作比数百个或更少元素(<200)的散列更好的字典.散列包对于非常大的字典来说要好得多.

  • 投票给出关于何时使用`list`以及何时使用`hash/dict`的信息. (2认同)