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

Reply via email to