Хеш или поддерживаемые списком уровни фактора
Я имею дело с категориальной переменной, извлеченной из базы данных, и хочу использовать факторы для поддержания «полноты» данных.
Например, у меня есть таблица, в которой хранятся цвета и связанные с ними числовые идентификаторы.
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).
Заранее спасибо!