如何在R中使用多个键有效地创建哈希/查找表

时间:2019-01-29 01:03:30

标签: r hashmap

我试图找到一种有效的方法来为大量数据创建哈希表,该哈希表涉及两个键和多个返回值。

可以如下生成样本数据集:

set.seed(1)
Data <- data.frame(
  X = sample(1:10),
  Y = sample(1:10),
  val1 = sample(1:10),
  val2 = sample(1:10),
  val3 = sample(1:10)
)

我有大量位置数据(样本中的X和Y),并且有多个值需要映射到每个数据点。我将需要在代码中查找数百万次映射的值,理想情况下,我可以查找给定的(X,Y)对,并返回一个向量(val1,val2,val3)。我当前正在使用:

getPixIndex <- function(Data, x, y) {
  return(which(Data$X == x & Data$Y == y))
}

这将返回索引,然后使我可以访问(X,Y)对的相应val1,val2和val3。

但是,我想知道这是否是执行查找的最有效方法。我已经在R和发现的环境中搜索了哈希表实现,但是似乎它们需要字符作为键,这意味着我必须将所有(X,Y)对都转换为看起来效率不高的字符。有没有更有效的方法来创建此查找表?

0 个答案:

没有答案