1

我正在使用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)
4

2 回答 2

1

我通过以下方式将所有字符列更改为因子:

df = data.frame(apply(df, 2, as.factor))

这解决了我的错误。
正如 Steffen Moritz 所说,missforest 需要数字或因子输入。

于 2021-01-13T16:43:49.180 回答
0

您需要您的变量是因子类型,进行转换并重试

于 2022-02-12T02:15:19.023 回答