Теперь, когда вы добавили аргументы maxit
и MaxNWts
к mice()
, вы получаете другую ошибку, не так ли?
Как указано в документации, mice()
на самом деле вызывает другие функции при вменении переменных. mice.impute.polyreg()
, являющееся частью сообщения об ошибке, является функцией вменения по умолчанию для категориальных переменных. Если вы прочитаете документацию для mice.impute.polyreg()
, вы увидите, что ее аргумент называется nnet.MaxNWts
, а не MaxNWts
. mice.impute.polyreg()
передает значение nnet.MaxNWts
аргументу MaxNWts
nnet::multinom()
.
Если вы предоставите MaxNWts
аргумент для mice.impute.polyreg()
, он передаст two MaxNWts
в nnet::multinom()
: один со значением по умолчанию nnet.MaxNWts
, а другой (через. ..) с указанным вами значением. Кажется, само сообщение об ошибке исходит от match.call()
, внутри nnet::multinom()
.
Вы можете (повторно) создать эту ошибку, просто набрав mean(x = 1, x = 2)
.
Если вы замените MaxNWts
на nnet.MaxNWts
в своем вызове, вам следует прекратить получать это сообщение об ошибке.
Обратите внимание, что вы на самом деле не задавали свой вопрос, просто сообщили, что вы (все еще) получаете сообщение об ошибке. Дайте мне знать, если мой ответ не тот, который вам нужен.
Заслуженный кредит: Этот ответ является расширенной версией , еще одной , автор Гордон Ли. Я сам нашел этот ответ, когда получил то же сообщение об ошибке, что и вы!