我正在使用missForest
来估算丢失的数据。我将数据作为数据框,并将其放入missForest
函数中时出现错误:
randomForest.default中的错误(x = obsX,y = obsY,ntree = ntree,mtry = mtry ,:在预测变量中不允许使用NA
但是,由于我没有预测变量,所以我只是想推论我不知道这是从哪里来的。下面的代码应使用示例数据集重现该问题。
下面的代码是我的问题的模拟版本。但是,我已经尝试将Y转换为数据帧,并且遇到相同的错误。
Y <- prodNA(matrix(as.character(runif(100) > 0.5), nrow=10))
missForest(Y)
答案 0 :(得分:0)
我通过以下方式将所有字符列更改为因子:
df = data.frame(apply(df, 2, as.factor))
这就解决了我的错误。
正如 Steffen Moritz 所说,missforest 需要数字或因子输入。