【发布时间】:2011-11-17 22:27:53
【问题描述】:
在 R 编程语言中,我想使用哈希表。
如何使用变量的值作为环境的键?
例如:
map <- new.env(hash=T, parent=emptyenv())
key <- 'ddd'
map$key <- 4
print(ls(map))
>>[1] "key"
输出是'key',这意味着我得到了从字符串'key'到值4的映射。我真正想要这段代码做的是将字符串'ddd'映射到值4。
我怎样才能做到这一点?
附言。我不使用命名列表,因为它不使用散列来进行搜索,大量元素时速度很慢。
【问题讨论】:
-
PPS。命名列表确实使用散列。但只有当您使用包含许多元素的矢量化子集时,花时间构建哈希表才有意义。
-
@hadley,是否有参数指定是否在命名的 lsits 中使用哈希?或者它会根据元素的数量自动执行?
-
@hadley,与哈希环境相比,启发式命名列表的效率如何?
-
一切都取决于你在做什么。没有例子很难知道。
-
@hadley,有什么链接可以看详细了解吗?