Making an Income with R: Important Skills and Getting Started

Can you make money using R?

Learning R is a worthwhile investment. It was my knowledge of R that landed me my first job as a freelancer on Upwork which is a popular freelance job site.

Understanding how to use R is a valuable skill and you can make money from using R. You can find paid work through freelancing sites such as or solely for your ability to use the R programming language. R is valuable for data analysis and data science work which are both incredibly hot fields in 2022.

I regularly get offered opportunities for jobs that specifically need someone proficient in R. Remember, you will find success by niching down and you can earn a living from the R programming language (as well as almost any programming language).

What skills are needed to make money using R?

When it comes to being a data analyst (not a data scientist), there are some basic skills you will need to be of value to your client. To make money using R, you will need to be able to do the following:

  • Import and export data from many different file types or sources
  • Cleanse a dataset
  • Run some simple statistics on your data
  • Visualize your data
  • Summarize the data into a report and consult your client

Import and export data from many different file types or sources

Importing data is how almost every R script will start.

You cannot work with your data if you cannot first read it into the R environment.

Expect to receive data with any given file extension and also sometimes have to query data from a 3rd party API or even scrape data from the web. For starters though, let’s look at what file extensions you should be able to read in data from:

  • .csv
  • .xls
  • .xlsx
  • .xlbs
  • .txt
  • .json
  • .xml

Luckily, you can read this data into R typically with a single function as long as you specify the right parameters. Ultimately, all of these different file types are just characters or numbers organized in a particular way.

I recommend reading in data as a tibble data type instead of the classic R data frame.

## Load libraries
library(tidyverse) # For general data management.
library(readxl) # To read in certain file types

df <- read_xlsx([YOUR FILE NAME], 
                col_types = 'text')

Cleanse a dataset

Cleanse a dataset. Note this is a simplified example.

Any real dataset that you work with will not be perfect. There will be NAs, nulls, inconsistent spellings, incomplete rows and everything in between.

If you want to earn money from R, you need to be able to cleanse a dataset. There are a number of ways a dataset such as removing incomplete or null values. Another method is to insert an average value of a column for each missing data point. The appropriate method depends on the context of the data itself.

For example, you might have medical center location data across the US but some of the data is duplicated under slightly different names. In this case, you will want to standardize the names and remove any duplicate entries.

To keep things simple though, for now, just focus on removing any incomplete, duplicate, or bad data and keeping the data that is complete and unique.

## Read in libraries

# Read in all IC = read_xlsb([YOUR DATA FILE],sheet = [YOUR EXCEL SHEET NAME])

# Make the addresses all caps to standardize
for( in 1:nrow({[i,"Address"] <- toupper([i,"Address"])[[1]]

# Remove duplicates <- distinct(

# Distinct() returns a data.frame object so let's convert it back to a tibble object <- as_tibble(

Run some simple statistics on your data

Always try to keep your statistics simple at first. You don’t need to use a chainsaw when a pocket knife will do the trick.

After you have your data imported, cleansed, and organized into a nice data frame or tibble, you are ready to run some basic statistics.

You need to produce some tangible statistics as a working data analyst. If you want to earn money with R, you should be able to find averages, total counts, median values, percentage changes, percentage differences, linear fits, and correlation coefficients. These are likely 90% of all the statistics you will need while using R.

This is where beginner data analysts like to go overboard a bit. You don’t need to feed a k-means clustered dataset into a decision tree algorithm for every project. Always start off with the simplest statistics that you can such as average, median values, percentage change, and total counts.

Your client won’t understand more advanced statistics half the time anyway and they often simply overkill for the type of reporting you will be doing.

Visualize your data

Always make your graphics easy to read and informative. If the graph doesn’t support your statistics or create an insight, then don’t use the graph.

Next, you will need to visualize your data.

Your clients will want to see some sort of report, dashboard, or graphs to illustrate the conclusions and statistics you are producing. Typically, you will use the ggplot2 library to create graphs and images in R. The ggplot2 library is the best supported and most versatile graphics library available for R.

Keep your graphics simple, easy to read, and supportive of your other conclusions or statistics. If you claim that 60% of all online sales are from customers aged 55+, then create a pie chart that breaks down sales by customer age.

Summarize the data into a report and consult your client

An old example report I created with RMarkdown.

Lastly, you will need to summarize your findings in a report to your client.

Typically to report your findings in R, you will use either RMarkdown, Powerpoint, or Microsoft Word. Though some jobs will require a 3rd party software to create a relevant dashboard. RMarkdown is the most impressive and professional option here and a beginning data analyst or scientist should spend some time getting familiar with it.

Remember that your clients want easily digestible and actionable insights. I like to typically create an executive summary of the data analysis at the top of the report so my clients don’t need to read everything in the report.

Where should I look for paid work using R?

If you are just starting out, first make some portfolio projects and then apply for some small freelance jobs. This will get you some relevant work experience, show initiative to potential employers, and earn you your first paycheck as a data analyst or data scientist.

It is possible to quickly find paid work using R on

  • Upwork
  • Fiverr
  • Toptal
  • Other freelancing websites.

Additionally, you can search job posting websites for full-time positions if you already have some relevant work experience. Otherwise, networking via social media, LinkedIn, or even Reddit can help you source your very first client.

Don’t be afraid to send out a proposal for a job and be upfront about your experience level. I have found that clients respond the most positively when I am clear that I wasn’t the most experienced but valued the opportunity. Don’t sell yourself as something you are not.

How much money can I make with only R?

I usually charge around $35 an hour for US clients when doing a job with R.

There is no hard limit to the amount of money you can make from knowing a particular programming language.

I started working at $20 an hour for my first job as a freelancer using R, but after a year of consistent work, I have charged up to $45 an hour from clients. Though usually, I charge around $35 an hour as of writing this article. Some more experienced analysts charge up to $65 an hour.

The more work you get, the more you can make as a freelancer. If you get a full-time position, then your income will depend on the salary you negotiate. The average salary for a data analyst in the US is $65,319 a year.

However, keep in mind, for most data analysts and particularly data scientists, R is only one tool of many that they employ to create valuable insights from data, dashboards, and data pipelines for their clients.

My experience making a full-time income with R

Is R actually valuable?

Learning anything is a big commitment of time and it is natural to be hesitant to commit to something for months or even years.

So is R actually worth it?

R is a valuable programming language to learn and there are many opportunities that are available from exclusively using the R programming language. R was my entry point into the world of remote work, data analytics, and eventually work automation cloud database work.

Of course, it is true that you can make a living with virtually any current programming language. R is intuitive and fun for me so I recommend it, however, learning something like Python is not a bad choice either. Eventually, you will be forced to use different programming languages anyway so don’t stress so much about which one you learn first.

How long does it take to make a full-time income with R?

This is the question that is important to anyone trying to make a career change by learning R.

If you have relevant work experience, you can make a full-time income almost immediately by using just R. However, it depends on the type of work you’re taking and how much work you get starting off. If you are a freelancer, it can take months before you get enough consistent work to be earning a full-time income. If you are trying to land a job with no experience, it can also take months of applying and working on your portfolio before you get that first job.

As a freelancer with no relevant work experience, it took me about 4 months before I started getting consistent work that could be considered a full-time income. Additionally, I had other difficult factors such as I was applying for jobs in America while living abroad in a completely different timezone. I also taught part-time for about a year and a half before I completely relied on my freelance income.

Don’t let this discourage you though. I actually managed to be successful without focusing on getting freelance data analysis work and even taking a 3-month break in-between.


So that’s it.

R is a valuable skill and will earn you money. Almost all of my first freelancing jobs were specifically R-based. Almost 2 years later, I still regularly use R in my coding and data analytics jobs. It is an indispensable part of my toolkit.

Thanks for reading and look out for more content from RTL Coding. Hope this article was useful and if you would like to support this blog and this content feel free to donate via Paypal to help support more helpful content.



Recent Posts