Как эффективно создать хэш / таблицу поиска с несколькими ключами в R - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь найти эффективный способ создания хеш-таблицы для большого объема данных, включающий два ключа и несколько возвращаемых значений.

Примерный набор данных может быть сгенерирован следующим образом:

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))
}

Это возвращает индекс, который затем позволяет мне получить доступ к соответствующим val1, val2 и val3 для пары (X, Y).

Однако,Мне интересно, если это самый эффективный способ поиска.Я искал реализации хеш-таблиц в R и нашел среды, но кажется, что они требуют символов в качестве ключей, что означало бы, что мне придется конвертировать все пары (X, Y) в символы, которые не кажутся эффективными.Есть ли более эффективный способ создания этой справочной таблицы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...