У меня есть data.table
DT
, и я хочу запустить на нем model.matrix
. Каждая строка имеет строковый идентификатор, который хранится в столбце ID
таблицы DT
. Когда я запускаю model.matrix
для DT
, моя формула исключает столбец ID
. Проблема в том, что model.matrix
отбрасывает некоторые строки из-за NA. Если я установлю имена строк DT
в столбец ID
перед вызовом model.matrix
, то окончательная матрица модели будет иметь имена строк, и все готово. В противном случае я не могу понять, какие строки я получаю. Я устанавливаю имена строк с помощью rownames(DT) = DT$ID
. Однако, когда я пытаюсь добавить новый столбец в DT
, я получаю жалобу на
«Обнаружена недействительная .internal.selfref... Ранее эта таблица данных была скопирована R».
Так что мне интересно
- Есть ли лучший способ установить имена строк для
data.table
- Есть ли лучший подход к решению этой проблемы.