У меня есть 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))
Я хочу построить матрицу
, которая присваивает фактору фиктивные переменные и оставляет только числовые переменные.
model.matrix(~ First + Second + Third + Fourth + Fifth, data=testFrame)
Как и следовало ожидать при работе лм
это оставляет один уровень каждого фактора в качестве опорного уровня. Тем не менее, Я хочу построить матрицу
с фиктивной / индикаторной переменной для каждого уровня всех факторов. Я строю эту матрицу для glmnet
, поэтому меня не беспокоит мультиколлинеарность.
Есть ли способ, чтобы model.matrix
создавал фиктивную фигуру для каждого уровня фактора?