> On Jun 26, 2016, at 12:39 PM, Lars Bishop <lars...@gmail.com> wrote:
> 
> Many thanks David. That works. Looks then this error will always occur in 
> predict.multinom whenever the data argument is missing in the mutlinom fit, 
> but the data argument is optional as per documentation. 

I don't agree with that analysis. The problem occurs because of a mismatch of 
names in the new data argument. With your original code this runs without error:

pred <- predict(fit, setNames(data.frame(X_new),c("X1","X2","X3") ), type = 
"probs")

-- 
David.
> 
> Best,
> Lars.
> 
> On Sun, Jun 26, 2016 at 3:14 PM, David Winsemius <dwinsem...@comcast.net> 
> wrote:
> 
> > On Jun 26, 2016, at 11:32 AM, Lars Bishop <lars...@gmail.com> wrote:
> >
> > Thanks Bert.
> >
> > But I it doesn't complain when predict is used on X instead of X_new
> > (using nnet_7.3-12), which is even more puzzling to me:
> >
> > pred <- predict(fit, X, type = "probs")
> 
> Indeed: There is a predict.multinom function and it does have 'probs' as an 
> acceptable argument to type:
> 
> I got success (or at least an absence of an error message) with:
> 
> #----------
>  X <- data.frame(matrix( 3 * runif(length(ysim)), nrow = 300, ncol = 3))
>  X_new <- data.frame(matrix( 3 * runif(length(ysim)), nrow = 200, ncol = 3))
>  str(X)
> 
> 'data.frame':   300 obs. of  3 variables:
>  $ X1: num  0.797 1.116 1.719 2.725 0.605 ...
>  $ X2: num  0.797 1.116 1.719 2.725 0.605 ...
>  $ X3: num  0.797 1.116 1.719 2.725 0.605 ...
> 
>  fit <- multinom(y ~ ., data=X, trace = FALSE)
>  pred <- predict(fit, setNames(X_new, names(X)), type = "probs")
> 
> > head(pred)
>       ysim1     ysim2     ysim3
> 1 0.3519378 0.3517418 0.2963204
> 2 0.3135513 0.3138573 0.3725915
> 3 0.3603779 0.3600461 0.2795759
> 4 0.3572297 0.3569498 0.2858206
> 5 0.3481512 0.3480128 0.3038360
> 6 0.3813310 0.3806118 0.2380572
> 
> #------------
> 
> 
> > head(pred)
> > ysim1     ysim2     ysim3
> > 1 0.3059421 0.3063284 0.3877295
> > 2 0.3200219 0.3202551 0.3597230
> > 3 0.3452414 0.3451460 0.3096125
> > 4 0.3827077 0.3819603 0.2353320
> > 5 0.2973288 0.2977994 0.4048718
> > 6 0.3817027 0.3809759 0.2373214
> >
> > Thanks again,
> > Lars.
> >
> >
> > On Sun, Jun 26, 2016 at 1:05 PM, Bert Gunter <bgunter.4...@gmail.com> wrote:
> >
> >> Well, for one thing, there is no "probs" method for predict.nnet, at
> >> least in my version: nnet_7.3-12
> >>
> >> Cheers,
> >> Bert
> >>
> >>
> >> Bert Gunter
> >>
> >> "The trouble with having an open mind is that people keep coming along
> >> and sticking things into it."
> >> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
> >>
> >>
> >> On Sun, Jun 26, 2016 at 9:27 AM, Lars Bishop <lars...@gmail.com> wrote:
> >>> Hello,
> >>>
> >>> I'd appreciate your help in spotting the reason for the error and warning
> >>> messages below.
> >>>
> >>> library(nnet)
> >>> set.seed(1)
> >>> ysim <- gl(3, 100)
> >>> y <- model.matrix(~ysim -1)
> >>> X <- matrix( 3 * runif(length(ysim)), nrow = 300, ncol = 3)
> >>> X_new <- matrix( 3 * runif(length(ysim)), nrow = 200, ncol = 3)
> >>>
> >>> fit <- multinom(y ~ X, trace = FALSE)
> >>> pred <- predict(fit, X_new, type = "probs")
> >>>
> >>> Error in predict.multinom(fit, X_new, type = "probs") :
> >>>  NAs are not allowed in subscripted assignments
> >>> In addition: Warning message:
> >>>  'newdata' had 200 rows but variables found have 300 rows
> >>>
> >>> Thanks,
> >>> Lars.
> >>>
> >>>        [[alternative HTML version deleted]]
> >>>
> >>> ______________________________________________
> >>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>> PLEASE do read the posting guide
> >> http://www.R-project.org/posting-guide.html
> >>> and provide commented, minimal, self-contained, reproducible code.
> >>
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> 
> David Winsemius
> Alameda, CA, USA
> 
> 

David Winsemius
Alameda, CA, USA

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to