我试图找到一种有效的方法来为大量数据创建哈希表,该哈希表涉及两个键和多个返回值。
可以如下生成样本数据集:
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)对都转换为看起来效率不高的字符。有没有更有效的方法来创建此查找表?