Dear Rolf, Thanks for trying to help. The bug wasn't in AnalyzeModel().
There was a bug in Effect.lm(), Effect.multinom(), and Effect.polr() in how xlevels=n (e.g., xlevels=4) was handled, now fixed in the development version of the effects package on R-Forge, from which it can be installed via install.packages("effects", repos="http://R-Forge.R-project.org"). Despite my implication to the contrary, xlevels=n works properly in predictorEffect() in the version of effects currently on CRAN. I'll wait for a decent interval before updating effects again on CRAN. Best, John > -----Original Message----- > From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Rolf > Turner > Sent: Wednesday, September 4, 2019 5:39 PM > To: Fox, John <j...@mcmaster.ca> > Cc: r-help@r-project.org; sa...@umn.edu > Subject: Re: [R] [effects] allEffects does not accept integer value for > xlevels > > > I'm obviously not understanding something here, but it seems to me that > the conjecture > > >>> It appears to me that the cause is buried in effects:::Analyze.model > >>> > >>> in or close to the the lines > >>> > >>> if (is.numeric(xlevels) & length(xlevels) == 1L) { > >>> levs <- xlevels > >>> for (name in focal.predictors) xlevels[[name]] <- levs > >>> } > >>> > >>> > >>> > >>> where xlevels -- while not being a list in this case -- is > >>> subscripted by xlevels[[name]]. > > is not correct. There is no problem with using [[...]] to extract entries > from vectors. E.g.: > > x <- 1:3 > names(x) <- c("mung","gorp","clyde") > x[["gorp"]] > > produces > > [1] 2 > > cheers, > > Rolf > > On 5/09/19 2:19 AM, Fox, John wrote: > > Dear Gerrit, > > > > Yes, that appears to be a bug in Effect() -- too bad that it wasn't > discovered earlier because a new version of the package was submitted > yesterday, but thank you for the bug report. > > > > We'll fix the bug, but until then a work-around is to specify the > > number of levels for each numeric predictor, as in > > > > allEffects(mod.cowles, xlevels=list(neuroticism=4, extraversion=4)) > > > > I used 4 levels here to verify that this works correctly, since 5 is the > default. > > > > As well, although unrelated to this bug, you might take a look at > predictorEffects(), which we recommend in preference to allEffects(). > > > > Best, > > John > > > > -------------------------------------- > > John Fox, Professor Emeritus > > McMaster University > > Hamilton, Ontario, Canada > > Web: socialsciences.mcmaster.ca/jfox/ > > > > > > > >> -----Original Message----- > >> From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of > >> Gerrit Eichner > >> Sent: Wednesday, September 4, 2019 9:25 AM > >> To: r-help@r-project.org > >> Subject: [R] [effects] allEffects does not accept integer value for > >> xlevels > >> > >> Dear list, > >> > >> citing from allEffects' help page (of package effects 4.1-2): > >> "If xlevels=n is an integer, then each numeric predictor is > >> represented by n equally spaced values rounded to 'nice' numbers." > >> > >> > >> However, adapting the first example from allEffects' help page throws > >> an an error: > >> > >> mod.cowles <- glm(volunteer ~ sex + neuroticism*extraversion, > >> data=Cowles, family=binomial) > >> allEffects(mod.cowles, > >> xlevels=5) Error in xlevels[[name]] : subscript out of bounds > >> > >> > >> It appears to me that the cause is buried in effects:::Analyze.model > >> > >> in or close to the the lines > >> > >> if (is.numeric(xlevels) & length(xlevels) == 1L) { > >> levs <- xlevels > >> for (name in focal.predictors) xlevels[[name]] <- levs > >> } > >> > >> > >> > >> where xlevels -- while not being a list in this case -- is > >> subscripted by xlevels[[name]]. > >> > >> Is anyone aware of a workaround (without having to specify all > >> numeric predictors of the used model explicitly in a list and giving > >> it to xlevels when calling allEffects), and without having to write > >> my own Analyze.model function? ;-) > >> > >> > >> Thx in advance and best regards -- Gerrit > >> > >> > >> > >> PS: sessionInfo() > >> > >> R version 3.6.1 (2019-07-05) > >> Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 > >> x64 (build 18362) > >> > >> Matrix products: default > >> > >> Random number generation: > >> RNG: Mersenne-Twister > >> Normal: Inversion > >> Sample: Rounding > >> > >> locale: > >> [1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 [3] > >> LC_MONETARY=German_Germany.1252 LC_NUMERIC=C [5] > >> LC_TIME=German_Germany.1252 > >> > >> attached base packages: > >> [1] stats graphics grDevices utils datasets methods base > >> > >> other attached packages: > >> [1] effects_4.1-2 carData_3.0-2 > >> > >> loaded via a namespace (and not attached): > >> [1] Rcpp_1.0.2 lattice_0.20-38 MASS_7.3-51.4 grid_3.6.1 > >> > >> [5] DBI_1.0.0 nlme_3.1-141 survey_3.36 > >> estimability_1.3 > >> [9] minqa_1.2.4 nloptr_1.2.1 Matrix_1.2-17 boot_1.3- > 23 > >> > >> [13] splines_3.6.1 lme4_1.1-21.9001 survival_2.44-1.1 > compiler_3.6.1 > >> [17] colorspace_1.4-1 mitools_2.4 nnet_7.3-12 > >> > >> > >> --------------------------------------------------------------------- > >> Dr. Gerrit Eichner Mathematical Institute, Room 212 > >> gerrit.eich...@math.uni-giessen.de Justus-Liebig-University Giessen > >> Tel: +49-(0)641-99-32104 Arndtstr. 2, 35392 Giessen, Germany > >> http://www.uni-giessen.de/eichner > >> > >> ______________________________________________ > >> 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. > > > > ______________________________________________ > > 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. > > > > > -- > Honorary Research Fellow > Department of Statistics > University of Auckland > Phone: +64-9-373-7599 ext. 88276 > > ______________________________________________ > 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. ______________________________________________ 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.