In defense of the R language

August 5, 2022

In a meeting I was in yesterday someone apologized for only knowing the R language. While not a classical “great” programming language I explained that it can serve many useful and practical purposes and that there is no reason why one should be apologetic about it as it has some many useful and practical applications.

I thought it might be useful to share some of the applications that I have professionally used R for:

Analyzing product field failures - what failed, above/below expectations?, new problems? or just a bad analysis period? Evaluate product manufacturing parameter changes over time - I wanted to confirm that we were having normal design tolerance variations or having a control problem.

Investigate when and how a product was being used - I had put a realtime clock and log in the device and when the units were returned for service we dumped the logs. R was a great tool to analyze and evaluate the data set.

In each of these applications the use of R meant that an infrequently performed activity was easily updated by many people and the analysis approach was very visible. In the customer complaint tracking system the R solution that I created even went to the extent of automatically generating PowerPoint slides to reduce the labor requirements to maintain tracking data.

The biggest issue with using R in each of these cases was not the R language but in ensuring that the data was available and that the analyses were being done. One issue that cae up with the last production tester that I worked on was that while I did include a requirement to collect actual test values and not simply pass/fail when the developer implemented the code they didn’t save the values. In the case of the customer complaint tracking system as the number of field defects fell and with staff changes the underlying data quality was reduced leading to a reduction in tracking effectiveness and a poorer product improvement program.