使用R中的词典/列表:如何从键值对中获取值?

时间:2017-08-02 11:59:07

标签: r dictionary hashmap lookup

这与Working with dictionaries/lists in R有关,我们尝试使用向量创建键值样式字典,但现在关于如何访问值。

我可以通过以下方式获取密钥

foo <- c(12, 22, 33)
names(foo) <- c("tic", "tac", "toe")
names(foo)
[1] "tic" "tac" "toe"

我可以访问元素

> lapply(FUN=function(a){foo[[a]]},X = 1:length(foo))
[[1]]
[1] 12

[[2]]
[1] 22

[[3]]
[1] 33

然后我可以做

unlist(lapply(FUN=function(a){foo[[a]]},X = 1:length(foo)))
[1] 12 22 33
#or 
sapply(FUN=function(a){foo[[a]]},X = 1:length(foo))
[1] 12 22 33

但这非常不方便。如何以c(12,22,33)格式方便地访问值? R中是否有一些方便的命令?

1 个答案:

答案 0 :(得分:1)

您已在foo中拥有这些值;它们只有a names attribute,对数据结构本身没有影响。无论名称如何,任何期望数字向量的函数都可以正常工作。

如果要删除名称,只需说:

unname(foo)