Hi Joris, Adding importMethodsFrom(lme4.0,summary) to the NAMESPACE solved the problem.
Best regards, Thierry ir. Thierry Onkelinx Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance Kliniekstraat 25 1070 Anderlecht Belgium + 32 2 525 02 51 + 32 54 43 61 85 thierry.onkel...@inbo.be<mailto:thierry.onkel...@inbo.be> www.inbo.be<http://www.inbo.be/> To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey Van: Joris Meys [mailto:jorism...@gmail.com] Verzonden: donderdag 3 april 2014 15:18 Aan: ONKELINX, Thierry CC: Joshua Wiley; r-devel@r-project.org Onderwerp: Re: [Rd] summary of lme4.0 model in package Thierry, did you try to importFrom() in the namespace file? That way you know for sure you have the correct summary function in the namespace of your package. Since namespaces are available, I personally found that using them whenever possible/suitable can prevent a lot of conflicts due to similarly named functions. In this case you notice the difference in search path. If you call a function within a package (package:function), it will look for the summary function in the namespaces and imported namespaces first. If you source it on the other hand, it will look for the summary function in the attached packages first. And in your case, that's 2 different versions of the same function. You will keep on having this problem as long as your package directly or indirectly calls for 2 different versions of the same package. I fail to understand why you would make your package dependent on an old version of lme4 (i.e. lme4.0). Back compatibility between new and old versions of lme4 are not guaranteed. Cheers Joris On Thu, Apr 3, 2014 at 2:55 PM, ONKELINX, Thierry <thierry.onkel...@inbo.be<mailto:thierry.onkel...@inbo.be>> wrote: An update: I copied the functions from package A into MyPackage instead of importing them. This avoids lme4_1.1-5 to be loaded via namespace (see sessionInfo). However, the error remains. Nlme is loaded via namespace by lme4.0 R version 3.0.2 (2013-09-25) Platform: i386-w64-mingw32/i386 (32-bit) locale: [1] LC_COLLATE=Dutch_Belgium.1252 LC_CTYPE=Dutch_Belgium.1252 LC_MONETARY=Dutch_Belgium.1252 [4] LC_NUMERIC=C LC_TIME=Dutch_Belgium.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] sendmailR_1.1-2 base64enc_0.1-1 ABV_0.2-21 lme4.0_0.999999-4 lattice_0.20-28 Matrix_1.1-3 loaded via a namespace (and not attached): [1] colorspace_1.2-4 dichromat_2.0-0 digest_0.6.4 fortunes_1.5-2 ggplot2_0.9.3.1.99 grid_3.0.2 [7] gridExtra_0.9.1 gtable_0.1.2 labeling_0.2 lubridate_1.3.3 MASS_7.3-30 memoise_0.1 [13] multcomp_1.3-2 munsell_0.4.2 mvtnorm_0.9-9997 nlme_3.1-115 plyr_1.8.1 proto_0.3-10 [19] RColorBrewer_1.0-5 Rcpp_0.11.1 reshape2_1.2.2 RODBC_1.3-10 sandwich_2.3-0 scales_0.2.3 [25] splines_3.0.2 stats4_3.0.2 stringr_0.6.2 survival_2.37-7 TH.data_1.0-3 tools_3.0.2 [31] zoo_1.7-11 ir. Thierry Onkelinx Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance Kliniekstraat 25 1070 Anderlecht Belgium + 32 2 525 02 51 + 32 54 43 61 85 thierry.onkel...@inbo.be<mailto:thierry.onkel...@inbo.be> www.inbo.be<http://www.inbo.be> To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey -----Oorspronkelijk bericht----- Van: ONKELINX, Thierry Verzonden: donderdag 3 april 2014 13:44 Aan: 'Joshua Wiley' CC: r-devel@r-project.org<mailto:r-devel@r-project.org> Onderwerp: RE: [Rd] summary of lme4.0 model in package Dear Joshua, Thank you for quick reply. Note that my package has Depends: lme4.0 in DESCRIPTION. It imports and suggests other packages but not lme4. lme4_1.1-5 is attached because my package imports (via Imports: in DESCRIPTION) functions from package A, which imports (via Imports: in DESCRIPTION) functions from package B, which imports (via Imports: in DESCRIPTION) functions from lme4. Neither packages A nor B import lme4 related functions. Should try to import lme4.0 instead of depending on it? Best regards, Thierry ir. Thierry Onkelinx Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance Kliniekstraat 25 1070 Anderlecht Belgium + 32 2 525 02 51 + 32 54 43 61 85 thierry.onkel...@inbo.be<mailto:thierry.onkel...@inbo.be> www.inbo.be<http://www.inbo.be> To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey Van: Joshua Wiley [mailto:jwiley.ps...@gmail.com<mailto:jwiley.ps...@gmail.com>] Verzonden: donderdag 3 april 2014 12:36 Aan: ONKELINX, Thierry CC: r-devel@r-project.org<mailto:r-devel@r-project.org> Onderwerp: Re: [Rd] summary of lme4.0 model in package Dear Thierry, You have lme4.0_0.999999-4 attached and lme4_1.1-5 loaded via a namespace. I wonder if changes between the versions and which was getting called when are making the difference. In particular, when you source it, I would assume methods from the attached package are used. When you use the function from the package, the methods from the dependencies for the package would be used. Cheers, Josh On Thu, Apr 3, 2014 at 3:09 AM, ONKELINX, Thierry <thierry.onkel...@inbo.be<mailto:thierry.onkel...@inbo.be>> wrote: Dear all, My package has Depends: lme4.0 in the DESCRIPTION. I need to extract the fixed effect of a model and their standard errors. I use coef(summary(model)) inside a function to do that. Model is the output of a call to glmer() from the lme4.0 package. coef(summary(model)) throws an error: $ operator is invalid for atomic vectors I have tracked it down to a problem with summary(model) because str(summary(model)) gives this Classes 'summaryDefault', 'table' Named chr [1:3] "1" "mer" "S4" ..- attr(*, "names")= chr [1:3] "Length" "Class" "Mode" But it should return Formal class 'summary.mer' [package "lme4.0"] with 42 slots ..@ methTitle: chr "Generalized linear mixed model fit by the Laplace approximation" ..@ logLik :Class 'logLik' : -2265 (df=12) --- output snipped --- What puzzles me is that the function gives the error when called from the package, but works fine when I source the code of the function manually. #this fails MyPackage:MyFunction(model) #this works source("MyPackage/R/MyFunction.R") MyFunction(model) Any idea on what is going wrong and how to fix this? sessionInfo() R version 3.0.2 (2013-09-25) Platform: i386-w64-mingw32/i386 (32-bit) locale: [1] LC_COLLATE=Dutch_Belgium.1252 LC_CTYPE=Dutch_Belgium.1252 LC_MONETARY=Dutch_Belgium.1252 [4] LC_NUMERIC=C LC_TIME=Dutch_Belgium.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] sendmailR_1.1-2 base64enc_0.1-1 ABV_0.2-21 lme4.0_0.999999-4 lattice_0.20-28 Matrix_1.1-3 loaded via a namespace (and not attached): [1] AFLP_0.4.0-66 colorspace_1.2-4 dichromat_2.0-0 digest_0.6.4 Epi_1.1.63 [6] fortunes_1.5-2 ggplot2_0.9.3.1.99 grid_3.0.2 gridExtra_0.9.1 gtable_0.1.2 [11] labeling_0.2 lme4_1.1-5 lubridate_1.3.3 MASS_7.3-30 memoise_0.1 [16] mgcv_1.7-28 minqa_1.2.3 multcomp_1.3-2 munsell_0.4.2 mvtnorm_0.9-9997 [21] nlme_3.1-115 permute_0.8-3 plyr_1.8.1 proto_0.3-10 RColorBrewer_1.0-5 [26] Rcpp_0.11.1 RcppEigen_0.3.2.1.1 reshape_0.8.4 reshape2_1.2.2 RODBC_1.3-10 [31] sandwich_2.3-0 scales_0.2.3 seqinr_3.0-9 signal_0.7-3 splines_3.0.2 [36] stats4_3.0.2 stringr_0.6.2 survival_2.37-7 TH.data_1.0-3 tools_3.0.2 [41] vegan_2.1-41 watervogels_0.5-51 xtable_1.7-3 zoo_1.7-11 Best regards, Thierry ir. Thierry Onkelinx Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance Kliniekstraat 25 1070 Anderlecht Belgium + 32 2 525 02 51 + 32 54 43 61 85 thierry.onkel...@inbo.be<mailto:thierry.onkel...@inbo.be> www.inbo.be<http://www.inbo.be> To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey * * * * * * * * * * * * * D I S C L A I M E R * * * * * * * * * * * * * Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document. The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document. ______________________________________________ R-devel@r-project.org<mailto:R-devel@r-project.org> mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Joshua Wiley Ph.D. Student, Health Psychology University of California, Los Angeles http://joshuawiley.com/ Senior Analyst - Elkhart Group Ltd. http://elkhartgroup.com 260.673.5518<tel:260.673.5518> * * * * * * * * * * * * * D I S C L A I M E R * * * * * * * * * * * * * Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document. The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document. ______________________________________________ R-devel@r-project.org<mailto:R-devel@r-project.org> mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Joris Meys Statistical consultant Ghent University Faculty of Bioscience Engineering Department of Mathematical Modelling, Statistics and Bio-Informatics tel : +32 9 264 59 87 joris.m...@ugent.be<mailto:joris.m...@ugent.be> ------------------------------- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php * * * * * * * * * * * * * D I S C L A I M E R * * * * * * * * * * * * * Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document. The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document. [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel