我有一个多变量数据框,想将里面的分类数据转换为虚拟变量,我使用了 model.matrix,但它不太管用。请参考以下示例:
age = c(1:15) #numeric
sex = c(rep(0,7),rep(1,8)); sex = as.factor(sex) #factor
bloodtype = c(rep('A',2),rep('B',8),rep('O',1),rep('AB',4));bloodtype = as.factor(bloodtype) #factor
bodyweight = c(11:25) #numeric
wholedata = data.frame(cbind(age,sex,bloodtype,bodyweight))
model.matrix(~.,data=wholedata)[,-1]
我没有使用的原因model.matrix(~age+sex+bloodtype+bodyweight)[,-1]
是因为这只是一个玩具示例。在真实数据中,我可以有数十或数百列。我不认为在这里输入所有变量名是个好主意。
谢谢