Promoting the use of the R programming language at your institution can bring many benefits. Your colleagues will be able to access cutting edge statistical analyses that have just been developed. It can improve flexibility in data-analysis, allowing the combination of old tools to invent new methods. Proficient R programming can also save a lot of time, because the scripts you create are a repeatable blueprint of your analysis. Scripting is also a key skill for dealing with very large datasets, that are unmanageable using point and click interfaces. Finally, Rstats is fast becoming the gold standard for analysis and many academic journals encourage submission of Rstats code with manuscripts, particularly for papers about new methods.
R is somewhat infamous for it’s steep learning curve. If you are new to R, getting started can be very daunting and you will want help. So how can you create a ‘culture’ of using R in our institutions? Here I describe some of the lessons I have learned about creating a culture of R.
Having an experienced instructor teach a course on how to get started with R can be the best way to start. Many people may not have encountered a programming language before, so just opening up the R program can be daunting - they don’t know where to start. An instructed course is a great way to step people through this process.
You can make a lot of progress learning R in just one day, for instance see some of the introductory courses I run.
The best courses will be tailored to your research discipline. I find that people ‘get it’ better if they are solving problems they will encounter in their own work. When I was learning R, I learned less from text books that worked from medical examples when compared to texts that worked from ecological examples.
So recruit a local R user to teach a course for your institution. Getting someone local will also help build a support network and will help ensure they are familiar with the problems faced in your discipline.
A support network is key. People will typically be using R on their own. When they run across problems they will need help. R’s help files are not that useful, until you learn to speak the language - they tend to have a lot of stats and programming jargon in them. Web searches are also difficult, until you know the right terms to search for. Also, help files and web searches have no empathy. Often what aspiring R programmers need is a friendly and encouraging ear to vent their frustrations on!
There are a few ways to create good support networks, try some or all of these:
An introductory R course is a great way for new R users to meet and can create the beginnings of an R community
An email group is also helpful. R users can ask for help on their problems and share useful articles and advice they come across as they learn R. Of course the normal etiquette of group email lists applies.
Organise regular meet-ups where R users come with their problems and a solution is crowd sourced. Ideally, some experienced R users will attend too. I have attended/organised several of these over the years and find they are great for my own knowledge. By participating and helping people new to R I get a greater exposure to the types of statistical problems ecologists need to solve. One of the most enjoyable R groups I have attended was the Stats-Beerz group at Simon Fraser University. They combine a casual R programming help session with craft beers (which I think proves that R is the language of choice for hipsters).
The junior staff and students typically have the most time to learn new skills. They are also usually the people collecting, entering and analysing data. Focus R training at these people. They are most likely to integrate R into their work habits. That said, if more senior staff want to learn R, then certainly encourage that too. Presence of senior staff at R courses and meet-ups sends a message that R programming is an important skill to learn.
Some institutions I have worked at in the past did not allow installation of 3rd party software on the institute’s computers without IT support. Once you install R, you will probably want to download and install new packages as new problems arise or you want to try a new type of analysis. Requiring an IT staff member to help install every new R package you want is very frustrating and really slows down the process of problem solving in R. Hopefully these days are over, but if your institute requires IT support to install new software, you need to fight against it.
Senior staff need to see value in their staff and students using R to allow a productive R culture to develop. In a successful R culture, senior staff may not know how to use R themselves, but they will be encouraging junior staff and students to be using R in their work. Senior staff also typically have more access to the resources required to provide R training and facilitate support networks. In my experience most senior staff already see the value in R. If you want to develop an R culture at your institution, all you need do is approach them with ideas for training.
Good luck with developing an R programming culture for your institute. A successful R culture will benefit you and your colleagues for years to come.