I am the developer of the package jtools
(https://cran.r-project.org/web/packages/jtools/index.html). The package has such a bland name because when I started working on it, I didn't know what it was for other than functions that I was re-using across my own projects that I thought others might be interested in.
Over time, there have been two different types of things that have attracted users to the package. One is summarizing regression models of various types, via a replacement for the summary
function, some methods of visualization, and some methods for exporting summaries to external documents. The other is a fairly comprehensive suite of tools for probing interaction terms in regression models.
Since I started working on the package, I've learned to appreciate the idea that while one can have a package that is too narrowly focused, it is far easier to have a package that has too much going on. Moreover, because of the name I chose for the package, people looking for this stuff may not know that my package has it. I have been thinking for some time about splitting off the interaction-related functions into a new, informatively-named package but I'm not sure of the best way to go about it.
So that's my question:
- Is this kind of thing a good idea?
- How would you start the process of putting things into a new package?
- How would you handle the process of deprecating and informing users?
For some reason or another, I've gotten the impression that a larger-than-normal portion of my package's users are social scientists who are not especially comfortable with R. It may partly be because my package does a number of things that are largely doable on one's own but would require a lot of programming and so people end up with my package because it holds your hand through things (that was my goal). With that in mind, I don't want to greatly confuse people and I'd prefer not to break old code for a while if I can help it.