最佳答案
我有一个由数字和因子变量组成的 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
。我正在为 ABc2构建这个矩阵,所以我不担心多重共线性。
有没有办法让 model.matrix
为每个级别的因子创建虚拟?