Creating Graphs with R using ggplot2

Learning R through an Example Learning R through an Example - Part 2
10 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€65.14
List Price:  €93.07
You save:  €27.92
£55.73
List Price:  £79.62
You save:  £23.88
CA$95.61
List Price:  CA$136.60
You save:  CA$40.98
A$106.30
List Price:  A$151.87
You save:  A$45.56
S$94.64
List Price:  S$135.20
You save:  S$40.56
HK$546.91
List Price:  HK$781.33
You save:  HK$234.42
CHF 63.50
List Price:  CHF 90.72
You save:  CHF 27.21
NOK kr764.69
List Price:  NOK kr1,092.46
You save:  NOK kr327.77
DKK kr485.92
List Price:  DKK kr694.20
You save:  DKK kr208.28
NZ$117
List Price:  NZ$167.15
You save:  NZ$50.15
د.إ257.06
List Price:  د.إ367.25
You save:  د.إ110.18
৳7,661.98
List Price:  ৳10,946.16
You save:  ৳3,284.17
₹5,839.65
List Price:  ₹8,342.71
You save:  ₹2,503.06
RM331.75
List Price:  RM473.95
You save:  RM142.20
₦86,437.65
List Price:  ₦123,487.65
You save:  ₦37,050
₨19,492.21
List Price:  ₨27,847.21
You save:  ₨8,355
฿2,575.56
List Price:  ฿3,679.53
You save:  ฿1,103.97
₺2,262.43
List Price:  ₺3,232.18
You save:  ₺969.75
B$357.76
List Price:  B$511.10
You save:  B$153.34
R1,296.01
List Price:  R1,851.52
You save:  R555.51
Лв127.38
List Price:  Лв181.98
You save:  Лв54.60
₩95,113.23
List Price:  ₩135,881.87
You save:  ₩40,768.63
₪260.11
List Price:  ₪371.60
You save:  ₪111.49
₱3,999.61
List Price:  ₱5,713.97
You save:  ₱1,714.36
¥10,715.43
List Price:  ¥15,308.41
You save:  ¥4,592.98
MX$1,185.45
List Price:  MX$1,693.57
You save:  MX$508.12
QR254.79
List Price:  QR364.01
You save:  QR109.21
P955.69
List Price:  P1,365.33
You save:  P409.64
KSh9,427.65
List Price:  KSh13,468.65
You save:  KSh4,041
E£3,355.67
List Price:  E£4,794.02
You save:  E£1,438.35
ብር3,989.43
List Price:  ብር5,699.43
You save:  ብር1,710
Kz58,616.62
List Price:  Kz83,741.62
You save:  Kz25,125
CLP$66,326.02
List Price:  CLP$94,755.52
You save:  CLP$28,429.50
CN¥506.51
List Price:  CN¥723.62
You save:  CN¥217.11
RD$4,049.59
List Price:  RD$5,785.38
You save:  RD$1,735.78
DA9,420.19
List Price:  DA13,457.99
You save:  DA4,037.80
FJ$157.70
List Price:  FJ$225.30
You save:  FJ$67.59
Q542.62
List Price:  Q775.21
You save:  Q232.58
GY$14,613.08
List Price:  GY$20,876.73
You save:  GY$6,263.64
ISK kr9,792.30
List Price:  ISK kr13,989.60
You save:  ISK kr4,197.30
DH706.05
List Price:  DH1,008.69
You save:  DH302.63
L1,239.86
List Price:  L1,771.31
You save:  L531.44
ден4,010.92
List Price:  ден5,730.13
You save:  ден1,719.21
MOP$562.15
List Price:  MOP$803.11
You save:  MOP$240.95
N$1,302.54
List Price:  N$1,860.85
You save:  N$558.31
C$2,571.43
List Price:  C$3,673.63
You save:  C$1,102.20
रु9,317.58
List Price:  रु13,311.40
You save:  रु3,993.82
S/262.81
List Price:  S/375.46
You save:  S/112.65
K268.53
List Price:  K383.63
You save:  K115.10
SAR262.51
List Price:  SAR375.03
You save:  SAR112.52
ZK1,879.71
List Price:  ZK2,685.42
You save:  ZK805.70
L324.19
List Price:  L463.14
You save:  L138.95
Kč1,629.65
List Price:  Kč2,328.17
You save:  Kč698.52
Ft25,373.17
List Price:  Ft36,248.95
You save:  Ft10,875.77
SEK kr758.75
List Price:  SEK kr1,083.98
You save:  SEK kr325.22
ARS$61,468.94
List Price:  ARS$87,816.53
You save:  ARS$26,347.59
Bs482.36
List Price:  Bs689.12
You save:  Bs206.75
COP$272,946.91
List Price:  COP$389,940.87
You save:  COP$116,993.96
₡35,623.88
List Price:  ₡50,893.45
You save:  ₡15,269.56
L1,732.95
List Price:  L2,475.75
You save:  L742.80
₲523,151.84
List Price:  ₲747,391.81
You save:  ₲224,239.96
$U2,683.09
List Price:  $U3,833.15
You save:  $U1,150.06
zł281.85
List Price:  zł402.67
You save:  zł120.81
Already have an account? Log In

Transcript

Now that we have the data there, let's try to analyze it using different types of graphs. We will only show you how to generate different type of graphs we will not go into interpreting the graphs, the graphs, we will see our histograms, we will see trends using the line charts. Then we will see box plots which can show the central tendencies. And lastly, we will see scatter plots. We start with histograms. Now histograms can be generated using the hist command in our now it has got very a lot of options.

We will go one by one Bluetooth to look at all the different options. Now, what we do first is we have the data frame we take one particular data we take the sensor data and we convert it into a data matrix we stored in a variable called x. Then we will generate bins and then we will see how to generate the histogram using these different options. Now, we've Convert the data we say of the Sensex data we have converted to a matrix. Now we can straightaway say hist of x instead of x, and there the histogram is generated. Now we can increase the number of bins or decrease the number of bins.

The bins is how many number of intervals we want to have. The bins is nothing but a sequence of number between the minimum and the maximum census value. And we can say we want 30 different bins. Today we created the bins. Now, let's create the histogram with a hist x comma. Brix is equal to bins.

So, now let's generate the histogram. There you see the number of bins have increased, we can change the number of bits, we can say 20 and we generate the number of prints and we run the histogram command once again. So there you see the number of bins have changed next weekend color the bars in the color of our choice. So, we can say this, we can get the histogram come on back and say call color is equal to dark gray. So, now we run this and we see that the bars have been colored in dark gray, we can change the color to any color that we want we can say blue for example. And there you see you have blue bars.

We can also paint the borders we can say border and we use the color white is equal to white. So now you see the borders have been changed to white color. Next we can give labels to the x axis and the y axis. so we can say x lab for x axis label x lab is equal to Sensex index is a index and white lab is a frequency. So we can see why lab is equal to frequency. So you'll see that the labels are changed according to what we have given here.

Yeah, we can also give a title to the histogram of our choice. So we can say main is equal to and we can give the title we say histogram off Sensex gave. The title also is available to you now. So now let's change the data we can try the gold data and we run this entire code once again. So there you see the histogram for gold prices are made here. We can change the number of bins and check whether there is a difference and we can change that label to rise in rupees and you can run this once again.

So, you see the changes have been made we can also create bar plots bar plots are different from histograms in the sense that bar plot is a frequency where every individual value. So, q plot is a very powerful function in our where we using q plot you can create various kind of graphs. So, here I've shown you how to use q plot for generating a bar graph. So, you need to give the data that is x in Q plot and then you need to give the geometry. So, the geometry what we want is a bar graph and then of course, the color which what is the color to fill and what is the color of the borders. Next up we see how to draw line graphs, line graphs for line graphs.

We will use the package GG plot two, GG plot two is a very powerful package and it is a chapter by itself it implements the grammar of graphs. Now, it it works in layers they can see in the I have given a code sample where there is a plus between all the different code segments. So, you can add layers by using this plus at each stage. Now, in this in GG plot we have to give the data of which will be utilized for plotting the graph. Then we have to mention the aesthetics, A stands for aesthetics, the aesthetics I have said that plot the graph on the x axis is observation date and y axis you plot sets x data. Then I have told him your genome line basically indicates that please draw a line graph the genome smooth, this is a this draws the regression line across the data.

So it uses a method called gam and I will In the formula what has to be utilized in that, then there are the regular stuff where I give the labels for x axis or Y axis and I give a title and a gg plot we can also give a theme. So, the theme can be different things which you can find in another package called GG themes. So, all of these put together we can draw a simple line graph. Now, I cannot demonstrate it on the studio, I will use a software which I have developed to demonstrate the output of this particular graph. So here you see the output of the command we just formulated. Using GG plot, we can plot multiple lines also on a single graph.

For example, here is the code for plotting the prices of potato, tomato and onion. All put all in a single graph. Now here you see I have given a subset of the data because I have this data only from first of January 2018. So I Instead for the data I have given a subset of the total data what I have fetched from my database. And then for we have said you draw the line graph for potato, tomato and onion separately and then you also draw the regression lines for each of them. Then each of the lines I have given a different color.

So, you can see the command which I have used for color. And then lastly, I have given the labels and then the theme. So here you see the output of this command which we just discussed before. Now the output is from a application developed in SHINee. We will discuss shiny apps in a different session. So here you can see that we have the three different lines, one for protector, one for tomato, one for onion, each in a different color, and each of them showing a different trend line.

Next we try to create the boxplot of a box plot we first required to create the data appropriately. Now what we have is the prices of tomato, potato and onion in separate columns require two columns one column indicating what is the commodity and one column indicating its price. So we create a data frame containing two columns. One is called commodity and one is called value. In the commodity we replicate the labels tomato, onion and potato, the number of for the number of rows that we have in the data. We take the data from first January 2018.

And against each of these commodities, we capture the values of the prices of tomato, onion and potato as they are present in our data. Then we can use the GG plot command as shown here and create the box plot. You can see there are various options for creating the box. plot, you can also give colors and you can give shapes and you can scale the color Brewer etc. Now, we see the output of the boxplot we take the code and we run it there you have your box plot you can see the whiskers and you can see the outliers. Next up, we see how to generate scatter plots.

Scatter plots can also be generated by GG plot command itself. So, here we are drawing the scatter plot between gold price and Sensex. So, we will color the different observations based on the month of the observation. So, here is the complete command we will see how we how to run it and we will see the output. So, now I have placed the command in the our studio and we run it there you have your scatter plot. We can save this plot also or any of the plots by saying export save You can save as image or a PDF.

Now I select a directory. So there we select a directory and then we specify a file name. So I say scatterplot. And then we say save. It says the file already exists. So we will change the name scatterplot one and save it.

So we have seen how to create five different type of graphs. Next, we will use these code snippets that we have generated so far to create a presentation in our we will see how to do that. Now the presentations or the creating are these will automatically get updated whenever the data underlying the presentations change. This is unlike the normal presentations that you make using Microsoft PowerPoint etc.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.