【发布时间】:2018-05-14 13:02:16
【问题描述】:
我正在尝试使用 missForest 包将丢失的数据归入一个相当大的数据集中。
missForest 以带有缺失值的数据矩阵的形式获取数据。列对应于变量,行对应于观察。因此,我将我的数据框转换为矩阵,无意中将我所有的分类变量都转换为数值类型。
有谁知道如何将矩阵的一列分配为因子??
非常感谢!!!
【问题讨论】:
-
如果你提供一个数据和代码的例子会很有用,所以我们可以开始帮助你一个具体的例子
-
你不能。数据框和矩阵的区别在于,数据框可以有不同类别的列,但矩阵中的所有内容都必须是一个类别。您应该做的是使用
model.matrix将您的数据帧转换为具有正确编码因子as in this FAQ 的矩阵。 (也知道您正在运行的任何模型例程也会将您的数据帧转换为矩阵,可能使用基于公式的model.matrix。它只会在内部完成。)有关此的更多阅读,请查找“一个热编码"。 -
好的,我继续制作虚拟变量并使用虚拟编码矩阵运行missForest。我仍然得到十进制值而不是 1 和 0。有些值甚至是负数!!!我该怎么办?!?
标签: r dataframe matrix imputation