[R-pkg-devel] How do I know if/when my package is fit for CRAN?
Dear list, I have been working on an R package for the past two years. It started as a programming exercise for me to get acquainted with R, and because I had some issues with lmerTest::step (the aim of my package was to automate the protocol I use for performing model comparisons using LRT, also when one of the models does not converge or is not an lme4 model; these three things of LRT, nonconvergence, and non-lme4 models are not handled by lmerTest::step). Over the past two years, I have completely refactored the package multiple times as I realized there were better/cleaner ways to do things, and it has now grown into something that I use in my day-to-day statistical life. Now, it occurs to me that my code may be of use to other people. However, at the same time, I also feel that the package is nowhere near 'done', in the sense of polished code that is free of my personal quirks; here I do not mean little things like coding style, but rather more generally my overall approach to things. (I also know of a few bugs that need fixing, but that is easy - just need to find the time to do it.) My question is: how do I know (1) if my package belongs on CRAN (it did start out as a personal project, after all); and (2) when the code is in good enough shape to be submitted without me wasting the time of the people reviewing the submissions? The code is currently at [1], but my question is explicitly not for other people to review my code - instead, I am asking how I can do that myself! Thank you for any advice, Cesko [1] https://github.com/cvoeten/buildmer __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] How do I know if/when my package is fit for CRAN?
Comments in-line On 07/06/2018 11:23, Voeten, C.C. wrote: Dear list, I have been working on an R package for the past two years. It started as a programming exercise for me to get acquainted with R, and because I had some issues with lmerTest::step (the aim of my package was to automate the protocol I use for performing model comparisons using LRT, also when one of the models does not converge or is not an lme4 model; these three things of LRT, nonconvergence, and non-lme4 models are not handled by lmerTest::step). Over the past two years, I have completely refactored the package multiple times as I realized there were better/cleaner ways to do things, and it has now grown into something that I use in my day-to-day statistical life. Now, it occurs to me that my code may be of use to other people. However, at the same time, I also feel that the package is nowhere near 'done', in the sense of polished code that is free of my personal quirks; here I do not mean little things like coding style, but rather more generally my overall approach to things. (I also know of a few bugs that need fixing, but that is easy - just need to find the time to do it.) My question is: how do I know (1) if my package belongs on CRAN (it did start out as a personal project, after all) There are quite a few packages on CRAN which are collections of things which people personally found useful so I would have thought your package might well be of benefit. ; and (2) when the code is in good enough shape to be submitted without me wasting the time of the people reviewing the submissions? The code is currently at [1], but my question is explicitly not for other people to review my code - instead, I am asking how I can do that myself! If it passes the standard checks it should be accepted. There are packages which contain stylistic features which I would not write myself but that would not matter. If people start using it they will probably give you feedback anyway. One thing which occurs to me though is whether the maintaner of lmerTest would accept it into the package? If it has a different philosophy probably not but perhaps worth asking? Michael Thank you for any advice, Cesko [1] https://github.com/cvoeten/buildmer __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel -- Michael http://www.dewey.myzen.co.uk/home.html __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] How do I know if/when my package is fit for CRAN?
On 7 June 2018 at 13:00, Michael Dewey wrote: > > One thing which occurs to me though is whether the maintaner of lmerTest > would accept it into the package? If it has a different philosophy probably > not but perhaps worth asking? In the lmerTest-team we are always open to collaborations. A quick look at buildmer indicates that it takes a different approach than lmerTest and has a different scope (lmerTest is for LMMs but buildmer seems to cover GLMs, GLMMs, and GAMMs as well) so perhaps buildmer is most appropriately kept in a separate package. @Cesko, you may have noticed that a new almost completely re-written version of lmerTest (>= 3.0.0) has been out for a couple of months now? It has a new improved version of step() which should be better behaved when it comes to convergence failures. If you still encounter problems please let us know by posting an issue at https://github.com/runehaubo/lmerTestR. In any case you are always welcome to reach out privately. Cheers Rune (for the lmerTest authors) __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] How do I know if/when my package is fit for CRAN?
Dear Michael and Rune, Yes, when I started I was hoping that my tinkering might eventually be absorbed into lmerTest. Unfortunately, at the time, my knowledge of R and lmerTest was not sufficient for me to hack at lmerTest, and once I had achieved what I needed for LMMs in my own way (as a small script for personal use), I realized that I could easily extend my approach to GLMs and GAMs, at the obvious cost of breaking any possibility for upstreaming my code to lmerTest. I think that of the code I have now, not much is useful to lmerTest, but when I find the time I will certainly take a look if some things could be detached from buildmer into lmerTest. I was aware of the new version of lmerTest (still have to update buildmer to work with the new interfaces though), but I have not used its step function in a long time. I'm glad to hear that it has gotten better at handling convergence failures. Yes, in case of future problems I will definitely get in touch, as I should perhaps have done two years ago -- I can only guess that at the time, I figured that the problem must have been with my model specification itself; my road to learning mixed models has been somewhat rocky! In any case, I am encouraged by your replies. I will see if I can fix some more bugs and get the code to pass the CRAN checks, and maybe eventually I'll actually submit the package. Of course, I'll also see if there are things that could be of use to lmerTest, since I don't want to needlessly step onto their turf. Thank you for your kind feedback! Best, Cesko > -Oorspronkelijk bericht- > Van: Rune Haubo [mailto:rune.ha...@gmail.com] > Verzonden: donderdag 7 juni 2018 13:49 > Aan: Michael Dewey > CC: Voeten, C.C. ; r-package-devel@r- > project.org > Onderwerp: Re: [R-pkg-devel] How do I know if/when my package is fit for > CRAN? > > On 7 June 2018 at 13:00, Michael Dewey wrote: > > > > One thing which occurs to me though is whether the maintaner of > > lmerTest would accept it into the package? If it has a different > > philosophy probably not but perhaps worth asking? > > In the lmerTest-team we are always open to collaborations. A quick look at > buildmer indicates that it takes a different approach than lmerTest and has a > different scope (lmerTest is for LMMs but buildmer seems to cover GLMs, > GLMMs, and GAMMs as well) so perhaps buildmer is most appropriately > kept in a separate package. > > @Cesko, you may have noticed that a new almost completely re-written > version of lmerTest (>= 3.0.0) has been out for a couple of months now? It > has a new improved version of step() which should be better behaved when > it comes to convergence failures. If you still encounter problems please let > us > know by posting an issue at https://github.com/runehaubo/lmerTestR. In > any case you are always welcome to reach out privately. > > Cheers > > Rune > (for the lmerTest authors) __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] How do I know if/when my package is fit for CRAN?
On 07/06/2018 6:23 AM, Voeten, C.C. wrote: Dear list, I have been working on an R package for the past two years. It started as a programming exercise for me to get acquainted with R, and because I had some issues with lmerTest::step (the aim of my package was to automate the protocol I use for performing model comparisons using LRT, also when one of the models does not converge or is not an lme4 model; these three things of LRT, nonconvergence, and non-lme4 models are not handled by lmerTest::step). Over the past two years, I have completely refactored the package multiple times as I realized there were better/cleaner ways to do things, and it has now grown into something that I use in my day-to-day statistical life. Now, it occurs to me that my code may be of use to other people. However, at the same time, I also feel that the package is nowhere near 'done', in the sense of polished code that is free of my personal quirks; here I do not mean little things like coding style, but rather more generally my overall approach to things. (I also know of a few bugs that need fixing, but that is easy - just need to find the time to do it.) My question is: how do I know (1) if my package belongs on CRAN (it did start out as a personal project, after all); and (2) when the code is in good enough shape to be submitted without me wasting the time of the people reviewing the submissions? The code is currently at [1], but my question is explicitly not for other people to review my code - instead, I am asking how I can do that myself! As others have said, if it passes the CRAN checks, it will probably be accepted. But whether you should submit it requires some thought on your end. Do you want people using it and sending you bug reports and requests for additional functionality? I'll assume yes. Then you need to get people using it, and that requires that they can find it and figure out how to use it. Think carefully about putting together your DESCRIPTION file; that's what people will find first. Write good documentation for each of the functions, including examples. Write a vignette giving an overview. And if you do submit it to CRAN, be prepared to support it for several years. R changes over time, and you need to be ready to make the necessary changes to your package so that it still works. If it breaks and you don't fix it, that will cause lots of extra work for others. Duncan Murdoch __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel