我使用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)
我通过将所有字符列更改为因子
df = data.frame(apply(df, 2, as.factor))
这就解决了我的错误
正如Steffen Moritz所说,missforest需要数字或因子输入。
您需要您的变量是因子类型,执行转换并重试