Ошибка «MaxNWts», совпавшего с несколькими фактическими аргументами » - PullRequest
1 голос
/ 11 июня 2019

При попытке запустить MICE я получаю ошибку с совпадающими аргументами. Я пытался увеличить maxits и maxnwts, но я все еще получаю ошибки.

mice(df, m = 7, printFlag = FALSE, maxit = 350, seed = 123, MaxNWts = 50000)

Ошибка в nnet.default (X, Y, w, маска = маска, размер = 0, пропуск = ИСТИНА, softmax = ИСТИНА,: формальный аргумент "MaxNWts" соответствует нескольким фактическим аргументам Звонки: mice ... sampler.univ -> do.call -> mice.impute.polyreg -> multinom

1 Ответ

0 голосов
/ 16 июня 2019

Теперь, когда вы добавили аргументы 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 в своем вызове, вам следует прекратить получать это сообщение об ошибке.

Обратите внимание, что вы на самом деле не задавали свой вопрос, просто сообщили, что вы (все еще) получаете сообщение об ошибке. Дайте мне знать, если мой ответ не тот, который вам нужен.

Заслуженный кредит: Этот ответ является расширенной версией , еще одной , автор Гордон Ли. Я сам нашел этот ответ, когда получил то же сообщение об ошибке, что и вы!

...