R: Getting involved in Packages

R: Getting involved in Packages

This post follows on from the first in a series of R for Developers.

Packages are one of the strengths of the R language, allowing you to extend functionality through the efforts of the community.

Package Basics

Packages are functions and compiled code written in R and organised in a defined format. They may also include supporting data.

Most packages are listed on CRAN (The Comprehensive R Archive Network), either sorted by date of publication or sorted by name. The more recently a package was published the better in general, as this increases the likelihood that someone is still developing or maintaining it!

Some packages are not listed on CRAN, including those directly downloadable from github, those still early in development or with a very niche application. These usually have to be hunted down on a case by case basis.

Installing a Package

Most IDEs will have some way of installing packages, often with a way of targeting different package repositories. In R Studio Tools -> Install Packages will bring up the Install Packages Library.

From the command line install.packages("package_name") will be enough, although specifying a library may be recommended!

Some Great Packages

RStudio has a list of packages for loading, manipulating, visualising and modelling data, as well as other areas uses within R

Computer Futures has a similar list useful for data import, wrangling and visualisation.

Going more in-depth

For a comprehensive resource on R packages, try R packages by Hadley Wickham.

If there are any packages you can't live without then leave a comment!

Author

Duncan Thomson

A Remote Software and Database Contractor specialised in Umbraco, Duncan works from wherever he finds himself. He is the co-organiser of the Python Exeter and Data Science Exeter meetup groups and speaks about Remote Working, Umbraco, Python and .NET Outside of work he is keen on travel, random generation, foreign languages and good food.

comments powered by Disqus