Probably the best tool for statistical computing is a programing language called simply R. It is widely used by researchers in so many diverse fields and disciplines. It's free and open source. R has a great user community and a lot of free statistical packages one can use.
One of the most powerful characteristics of R is that it is open-source, meaning anyone can access the underlying code used to run the program and add their own code for free. This means that R:

  •     will always be able to perform the newest statistical analyses as soon as anyone thinks of them;
  •     will fix its bugs quickly and transparently; and
  •     has brought together a community of programming and stats nerds (a.k.a., useRs) that you can turn to for help.

Anyone can write their own R code, which means anyone can add to the huge list of R’s tools. Programmers submit their code to R in the form of “packages.” Some packages specialize in specific kinds of analyses, while other packages are much broader. For example, the “pwr” package by Stephane Champely specializes in conducting power analyses. In contrast, the “psych” package by APS Fellow William R. Revelle can do anything from descriptive statistics to item-response theory to mediation analyses. At the start of 2017, there are just under 10,000 packages available. And as soon as a new statistical approach is developed, someone will create a new package or add new tools to an existing package.

Moreover, anyone can look at the code used in a package. And there are lots of useRs who know what they’re doing and can recognize programming bugs when they appear. Package authors will tell you that their email inboxes are flooded with emails from fellow R aficionados who have come across errors in their code. This means that bugs are found quickly and fixed quickly. As a useR, you don’t need to wait a year for a new version of a package to be released; new updates are available as soon as authors makes changes to their packages. And those updates are published, making the entire process transparent.

This dynamic between typical useRs who want to examine data and package authors who want to make new techniques available is incredibly collaborative — so much so that R users find themselves entering a community of researchers and programmers. For some, this interaction is limited to asking for help (it’s often as simple as Googling your question). For those who believe their soul mate is another useR (there are many of us), there are meetup groups around the country and entire conferences organized around R.

Now the question remains: What should you use R for? Everything. No seriously, everything. Toss out SPSS, SAS, and STATA, because R can do all the descriptive analyses, regression equations, (M)AN(C)OVA, and hierarchical linear modeling you want. No need to buy MPlus, because R has structural equation modeling covered. Don’t bother opening Excel, because merging data sets, cleaning data, identifying important rows or columns, and even updating your gradebook can be done in R. Save money on colored pencils, because R will create whatever plot or graphic you can imagine, even if it’s 3D or interactive or both. R can be used with text processors like LaTeX, so you can integrate your results right into the manuscript itself. Stuck using Microsoft Word because your collaborators like track changes? R will create APA formatted tables, complete with significance stars and horizontal lines and export them as .doc files for your convenience. R can do both frequentist and Bayesian statistics. R can make use of your multi-core processor and run analyses in parallel. Search for a “bit of fun with R” and learn how to make a winking elephant. R can bootstrap, simulate, randomize, resample, multiply, impute, and park your car. Well, R can’t park your car — yet.

On a global scale, R can address many of the challenges of performing reproducible research. A particular study may fail to replicate for a variety of reasons, but one of the simplest is that we often forget exactly what we did to our data to get our results. How did you create scores from your items — averaging, summing, reverse-scoring, or item-response theory? Did you center variable two? Which participants did you exclude and based on what criteria? We often come back to our own data and say, “Wait, what did I do here?” R can remedy these issues because you’re using scripting to perform your analyses. Scripting means you write code, which is later run to manipulate data, perform analyses, and make graphics. In other words, using R involves writing a document that contains everything you did, in the order, you did it, as you analyze your data. Theoretically, you can share your code and data with literally anyone in the world, and they can use that code and that data to reproduce your results, statistics, and plots with no extra work or thought on their part. This ability to share your analyses has been augmented by online databases like the Open Science Framework in which you can publicly share your analysis scripts and data from your research projects.

A final reason you should become a useR is that R is increasingly being used as an industry-standard in the realm of data analytics, also known as “data science.” Many companies (e.g., Facebook, Merck, Pfizer) that hire psychology Ph.D. students recruit candidates who have a solid grasp of both statistics and programming. Learning R will make you a more attractive candidate if you apply for nonacademic jobs, and teaching R will provide your students with more career options.