What is R?
With so many programming languages out there it’s easy to lose track of what each has to offer, when you should use them, and why you should use one over the other. In this article, we’ll answer these questions and many more about R, the highly popular statistical computing and graphics software. We’ll provide examples of real world applications with snippets of the code that makes R run.
R is synonymous with statistical programming and visualization. It is one of the most popular programming languages that is used today and is the primary tool that many educational institutions and corporations use to crunch their numbers. R started as an experiment by its authors to implement a statistical test bed using a syntax like that provided in another programming language called S.
As it developed, it took on more of the syntax and features of S, eventually surpassing it in capability and scope. It’s Beta version was released in 2000 and over the years it has grown to be the 10th most popular programming language in the world and the number one most used language for data science.
R has a number of enticing offerings:
It’s free! While this is becoming increasingly true for a lot of programs, it can never be underestimated.
It’s open-source! This means that the developer community can easily share pre-written code or functions with each other. This is great for learning from others or helping others improve their code.
It has a ton of packages! Packages are pre-made state-of-the-art functions or algorithms that were created by a third party with the intention to help solve or streamline specific problems that others might have. For example, the “maps” package does the work of coding the coordinates of every country in the world. With 33 customization commands, anyone can visualize any section of the globe. This takes years of work and is typically done by a team, and you get it for free, ready to use!
R has a massive community of developers who work hard (and mostly for free) to continuously improve the language and provide more tools to help others. R has grown to be extremely popular in academics, healthcare, and government and receives an outpour of support from those industries in return.
Wherever data needs to be analyzed, R will likely be a great tool for the job as illustrated by its use across virtually every industry:
Examples of R
To better give you a sense of what the software environment looks like, here’s an example of some code written by CodeCoach students in R to sort 2014 car models by best city gas mileage:
Unlike other object oriented languages, R takes a more intuitive approach to its syntax which gives it a much easier learning curve. The line ‘arrange(table, desc(cty))’ does exactly what you might think; it arranges the table of cars in order by descending gas mileage.
R can be picked up at practically any age and with any level of prerequisite knowledge. However, a stronger statistical background will make the learning curve easier, make the use-cases more intuitive, and empower the user to be more creative. After getting your hands dirty, it becomes a lot clearer whether or not your statistical background will be supportive enough.
If you want to use R for general data analytics, any introductory statistics class will go a long way. If you have a very specific project in mind, additional courses or independent research might be needed to get a deeper understanding of the necessary concepts.
How Kids Can Learn R
R is a great introductory language for young beginners for a few main reasons; it’s free, there are loads of free online resources and support, the syntax is relatively intuitive, and basic statistics can be understood at any grade level.
A lot of the insights you might see on the internet are often simple calculations. Take this infographic as an example:
The calculation itself is simple division. Say 100 parents were surveyed and 90 parents wanted their child to study computer science, that’s 90%. In reality this survey could have included a lot of professional work, such as devising an experimental design, data cleaning, data management, and dealing with confounding variables.
The point we’re making is that given simple data sets, and R’s intuitive syntax, young beginners can come to real-world insights regardless of their skill level. And furthermore, that difficulty can be adjusted depending on the data provided.
How to Learn R
So what is a good approach to learning R? Here are 5 useful starting points, including some personal commentary based on our experiences:
- Read Books: Getting an R textbook is a great idea. Although they’re not the most exciting way to learn, textbooks tend to have a lot of great structure and will guide you through the most important concepts in order. Even though you might not follow or read through it completely, having a guide like this will be very beneficial.
- Instructive Videos: YouTube and Lynda are two great sites for learning. YouTube is free and Lynda is subscription based (although many local libraries provide a free subscription). These are often best for getting a grasp of overarching statistical concepts and seeing live demo’s of people’s workflows.
- Forums: Coding forums like Stack Overflow are a great place to learn directly from your peers. For just about any question you have about R, somebody else probably had the same question, and Stack Overflow probably has the answer. Often times in coding you can get stuck on extremely specific problems that a textbook can’t help with and that’s when leveraging your peers becomes a lifesaver.
- Personal Projects: Once you have an introductory grasp on R, you can begin to let your personal interests guide your learning. Experimenting on your own and creating a project you’re passionate about can be the most rewarding way to learn. You’ll be more motivated to get to work and likely learn additional skills that you might not have encountered by just “going by the book”. Exploring other people’s personal projects or working on group projects can provide similar benefits.
- Online Courses: Much like the courses CodeCoach offers, there are a variety of online courses that can steer you with professional guidance. Do some research to see which might be the most effective given your background.
Don’t forget to get started with CodeCoach today by contacting us for a free consultation call.