У меня есть data.frame
, состоящий из числовых и факторных переменных, как показано ниже.
testFrame <- data.frame(First=sample(1:10, 20, replace=T),
Second=sample(1:20, 20, replace=T), Third=sample(1:10, 20, replace=T),
Fourth=rep(c("Alice","Bob","Charlie","David"), 5),
Fifth=rep(c("Edward","Frank","Georgia","Hank","Isaac"),4))
Я хочу создать matrix
, который присваивает фиктивные переменные фактору и оставляет числовые переменные в покое..
model.matrix(~ First + Second + Third + Fourth + Fifth, data=testFrame)
Как и ожидалось, при запуске lm
это оставляет один уровень каждого фактора в качестве опорного уровня.Тем не менее, я хочу построить matrix
с фиктивной / индикаторной переменной для каждого уровня всех факторов.Я строю эту матрицу для glmnet
, поэтому меня не беспокоит мультиколлинеарность.
Есть ли способ model.matrix
создать фиктив для каждого уровня фактора?