将值添加到现有哈希值

时间:2011-09-23 08:29:58

标签: r hash

如何在R中向哈希的现有键插入其他值。

h=hash()
h[key1] = "value1"
. ???
h[key1] = exsisting values + "value2" = c(values(h),"value2")

...

1 个答案:

答案 0 :(得分:4)

首先,说明您首先要使用hash的原因可能很有用。标准R包含数据格式list,它也是键值存储。除非非常特殊地需要使用不同的系统,否则带有列表的系统已有详细记录,并且具有许多有用的功能,例如lapply,您的包可能不存在。

您似乎想要在C ++中创建所谓的multimap。没有必要使用哈希,你可以通过嵌套列表来实现:

h<-list()
h[['key1']]<-list("value1")
h[['key1']]<-list(unlist(h[['key1']]),'value2')
str(h)
List of 1
 $ key1:List of 2
  ..$ : chr "value1"
  ..$ : chr "value2"

如果您的值具有相同的数据类型,则甚至不需要嵌套列表:

h<-list()
h[['key1']]<-"value1"
h[['key1']]<-c(h[['key1']],'value2')
str(h)
List of 1
 $ key1: chr [1:2] "value1" "value2"