Change R Package Name

Changing the name of an existing R package is annoying but common task especially in the early stages of package development. This package (mostly) automates this task.

Build Status

Changing the name of an existing R package is annoying but common task in the early stages of package development (at least for me). Package changer tries to automate this task:

  1. Validity and availability of the new package name is checked by using available from available).

  2. All complete words matching the package name are replaced in all R scripts, C/C++/Fortran/Stan source codes, markdown files, and typical files in R packages, i.e. files with extension .R, .cpp, .c, .h, .f, .f90, .f95, .stan, .md, .Rmd, .Rnw, .html, and .bib, as well as files DESCRIPTION, NAMESPACE inst/CITATION, .Rbuildignore, and gitignore.

  3. Change file names containing the package name. Only checks files with extensions listed above, as well as files [oldname].Rproj, [oldname]-package.R, [oldname]-defunct.R, and [oldname]-deprecated.R.

  4. If run_roxygen is TRUE (default), old Rd files are removed.

  5. All files with extensions .o, .so, and .dll in /src are removed to force a rebuild of the package.

  6. Name of the package directory is changed.

  7. If change_git is TRUE (default), the remote url of the git repository is changed to match the new name. Note that you still need to change the name of the repository in Github/Bitbucket etc manually. For example in Github: Go to the URL of your Github package, click Settings near the top-right, change the name under Repository name, and click Rename.

  8. If run_roxygen is TRUE, update documentation and rebuild package.

Inspired by back-and-forth naming of the package particlefields) and Nick Tierney's blog post.

Additional issues (read above as well)

  • If the package is already published in CRAN, then you should first consult folks at CRAN whether they will accept the name change.

  • It is strongly recommended to have a backup backup before proceeding.


You can install the developed version of changer from Github with:



There is just one function in the package:

changer("../mypackagewithlongandboringname", "Rbitary")


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.0.3 by Jouni Helske, 3 years ago

Report a bug at

Browse source code at

Authors: Jouni Helske [aut, cre]

Documentation:   PDF Manual  

GPL (>= 2) license

Imports available, devtools, git2r

See at CRAN