Software

When you work with R, you are actually working within a whole constellation of software. It can be a whole lot easier to understand what you’re doing and how to keep your work environment up-to-date if you know what they are and how they interact.

1 The pieces

1.1 R itself

This is the engine of the system. This is the open source statistical software that does all of the number crunching and general calculations. The version as I’m writing this is R version 4.4.3 (2025-02-28).

You can get this information with the following code:

R.version.string
[1] "R version 4.4.3 (2025-02-28)"

You can interpret this number as such: major.minor.maintenance:

  • major: This is a big deal. It basically specifies which significant features that it supports. You always want to be on the most recent major release (relatively soonish). When a new one is coming out, you want to be sure to understand what new features are being implemented. Some of these changes will be what’s known as breaking changes — they will break scripts that worked under previous major versions. You will want to focus your investigations on understanding what these breaking changes are. Because of this, you will probably not want to make this change during a heavy work period (i.e., the school year) as some of your scripts/documents may change slightly or introduce small errors.

  • minor: A new minor release can include new features and changes that are backward compatible (along with the usual bug fixes). You should generally make this kind of update relatively quickly with little fear. The plan is that every spring the R development team releases a new minor version.

  • maintenance: A maintenance release does just what it implies — it fixes things. The bugs that are being fixed don’t have an effect on your life…generally. But, since many dozens of bugs are fixed every month, statistically (see what I did there?), you are going to come across some of those bugs eventually…so you might as well stay on top of these updates. These come out on an as-needed basis.

1.2 R Studio

R Studio is the software that provides the nice modern interface to working with the R application. R Studio is both completely unnecessary and wholly required at the same time. Basically, everything that you can do with R through R Studio, you could also do directly with R. However, you would not want to do this work because of how much harder it would be and how much less productive you would be.

You can find out what version of R Studio you have by going to the menu choice Tools/About R Studio. When I do so, I get the following information:

RStudio 2024.04.1+748 "Chocolate Cosmos" Release ...

I would refer to this as the April 2024 release. This page has information about R Studio releases. It has minor and maintenance releases about 10 times per year.

1.3 R packages

An R package (or library) is a set of code that someone has written to extend the functionality of the R language. This is probably the major benefit of working with R — someone, somewhere, has had a need similar to yours, whatever it might be, and they have created a package that makes it easier to do whatever you need to do within R. Hundreds of these exist and are easily installed and maintained within R Studio.

2 Maintenance

Each of the above has its own requirements and timelines for updates.

  • R: This is the trickiest and is highly dependent on your operating system. If you can, work with your IT group to have them update the software. If you use Windows, you might want to investigate the installr package.
  • R Studio: Every couple of weeks, go to the menu choice Help/Check for updates. If it says to do so, go ahead and update the software.
  • R libraries: Every couple of weeks, go to the menu choice Tools/Check for package updates. Then update all of the packages. This blind acceptance of package updating has yet to lead me astray.