2011-09-23 94 views
-4

的exsisting一个如何可以插入附加的值以散列在R.添加值的散列

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

一个exsisting键?

+2

想必你正在使用'hash'包,因为'hash()'不是基R的一部分。如果是这种情况,你应该在你的问题中说明(例如使用'library(hash)')。另外,你有没有阅读'hash'软件包手册? – Andrie

+0

是否有一个选项可以将散列中的值与某个特征字符分开? – Hans

回答

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"