Хеш или поддерживаемые списком уровни фактора

Я имею дело с категориальной переменной, извлеченной из базы данных, и хочу использовать факторы для поддержания «полноты» данных.

Например, у меня есть таблица, в которой хранятся цвета и связанные с ними числовые идентификаторы.

  ID  | Color
------+-------
    1 | Black
 1805 | Red
 3704 | White

Поэтому я хотел бы использовать фактор для хранения этой информации во фрейме данных, такой как:

Car Model | Color
----------+-------
Civic     | Black
Accord    | White
Sentra    | Red

где цветовой столбец является фактором, а хранящиеся базовые данные, а не строка, фактически являются c (1, 3704, 1805) - идентификаторам, связанным с каждым цветом.

Таким образом, я могу создать собственный фактор, изменив атрибуты уровней объекта класса факторов для достижения этого эффекта.

К сожалению, как вы можете видеть в примере, мои идентификаторы не увеличиваются. В моем приложении у меня ~ 30 уровней, а максимальный ID для одного уровня ~ 9000. Поскольку уровни хранятся в массиве для фактора, это означает, что я храню целочисленный вектор длиной 9000, содержащий только 30 элементов.

Есть ли способ использовать хеш или список для достижения этого эффекта более эффективно? то есть, если бы я использовал хеш в атрибуте уровней фактора, я мог бы хранить все 30 элементов с любыми индексами, которые мне нравятся, без необходимости создавать массив размером max (ID).

Заранее спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос