我有一个由数字和因子变量组成的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
人为每一级的因素创建一个假人?