Error in R (mice package), too many weights

Carlos Pesquera Alonso picture Carlos Pesquera Alonso · Feb 16, 2015 · Viewed 7.3k times · Source

I get the following error while imputing missing cases with the mice function from the library "mice"

 Error in nnet.default(X, Y, w, mask = mask, size = 0, skip = TRUE, softmax = TRUE,  :
too many (1104) weights

The problem is generated by the function mice.impute.polr and mice.impute.polyreg because of the default maximum number of weights. I can not solved it by using the command substitute and neither by copying the functions' code and writing the new functions mice.impute.polr and mice.impute.polyreg (because of a function I cannot find call augment). I've told that I should go to the source code to modify it.

How can I do it? Are there any other solution?

Answer

Graham Parsons picture Graham Parsons · Apr 20, 2015

The neural net function called by mice() is stopping because the "maximum allowable number of weights" has been exceeded. The MaxNWts argument to nnet is there to prevent running code that will take a very long time to complete.

If you don't mind waiting then you can increase the MaxNWts parameter by passing it directly to mice(), which will be picked up by nnet():

mice(data = df_with_nas, MaxNWts = 2000)