Это слишком много кода.Вы можете попытаться наложить недостающие данные с помощью метода method = "rf" или method = "cart", хотя, по моему опыту, метод cart кажется более точным.Вы также можете использовать функцию preprocess и medianImpute или knnImpute, так как это дает довольно хорошие результаты для такого типа вменения.Пример с мышами:
test_imp<-mice(df,m=5,method="cart",printFlag=F)
test_imputed<-complete(test_imp,3)#Selects third imputation
Пример с препроцессом
test_1<-preprocess(testdf,"medianImpute")
test_imputed<-predict(test_imputed,test_1)