我正在尝试使用missForest包将丢失的数据归入相当大的数据集中。
missForest以具有缺失值的数据矩阵的形式获取数据。列对应于变量和观察的行。因此,我将数据帧转换为矩阵,无意中将所有分类变量转换为数字类型。
有没有人知道如何将矩阵的列指定为因子??
非常感谢!!!
答案 0 :(得分:0)
好的,让我添加更多细节。
我有一个包含以下列的数据框。
homt_sub<-homt[c("CASEID","REASON","PSYPROB","SUB2.2","FREQ1","FRSTUSE1","FREQ2","AGEcont","GENDER", "RACE2", "ARRESTS")]
唯一的连续变量是AGEcont。其余的是因素。我必须制作一个使用missForest函数的矩阵。
homt_matrix<-data.matrix(homt_sub, rownames.force = NA)
homt_sub.imp <- missForest(homt_matrix, verbose= TRUE, maxiter = 3, ntree = 20)
我可以从这里提取插补但我得到小数值因为它们被视为连续变量。
model.matrix可能是一个解决方案,但创建如此多的额外变量,得到推算数据然后将其折叠回每个变量后面的一列似乎有点麻烦?我知道有一种方法可以使用因子变量来运行randomForest,但它还不清楚如何去做。
非常感谢