У меня есть 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
создать манекен для каждого уровня фактора?