我有几列中带有NA的调查数据集。在此之前,我决定使用"missForest"包执行多重插补来插补缺失值。这不是问题,但是我在检查数据后注意到,许多插补值都是数字,以前是因子的列中的十进制值。
我假设 missForest 要求列是数字的(它需要 x 的 data.matrix)才能执行插补。
NRMSE 非常好,具有插补值的列的平均值与具有 NA 的列相似。
我计划使用带有插补值的数据集进行多级线性回归,并且无论如何都会将因子列转换为数字。
这些带有小数位的数字插补值是否会带来问题?
finalmatrix <- data.matrix(final)
set.seed(666)
impforest <- missForest(finalmatrix, variablewise = TRUE, parallelize =
"forests")
我不知道
你的数据或代码,但missForest绝对能够处理混合类型的数据。(并且不会自动转换这些)
这是missForest手册中的一个例子:
## Nonparametric missing value imputation on mixed-type data:
## Take a look at iris definitely has a variable that is a factor
library(missForest)
data(iris)
summary(iris)
## The data contains four continuous and one categorical variable.
## Artificially produce missing values using the 'prodNA' function:
set.seed(81)
iris.mis <- prodNA(iris, noNA = 0.2)
summary(iris.mis)
## Impute missing values providing the complete matrix for
## illustration. Use 'verbose' to see what happens between iterations:
iris.imp <- missForest(iris.mis, xtrue = iris, verbose = TRUE)
## Here are the final results
iris.imp
##As can be seen here it still has the factor column
str(iris.imp$ximp)