Instruction manuals

R Tutorial

Published
of 3
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Description
R Tutorial
Transcript
  Plotting with ggplot Umesh P., SilpaBhaskaran Dept. of Computational Biology and Bioinformatics, University of Kerala R package is nowadays used widely for generating dynamic and interactive graphics because of its capability to produce wide variety of graphs out of the input data. Several packages are available with R to create such high resolution, publication ready images. ‘  ggplot2 ’ is one of the most popular packages in R that helps to generate beautiful graphics. Apart from the R's  plot()  function  , ggplot2  allows you to create more complex graphs and plots.  ggplot2  allows composing a set of independent components- such as scales and layers, in different ways to get variety of graphs.  ggplot2  helps us to create hassle-free, quality plots in seconds without compromising the accuracy. It also takes care of the formatting requirements of the plot and provides a comprehensive theming system that complements the plots in appearance. In this issue we are discussing some basic commands used in ggplot2 for producing interactive graphics. To make  ggplot2  available for our application, first install the package and load it into R environment: install.packages( ggplot2 ) library(ggplot2) Now, let us look into qplot( ) which is one of the basic plotting function in the  ggplot2  package. Consider the following data of accident cases occurred in a particular place during five years(from 2010- 2014): Now try the given R statement: >qplot(Accident, data = new, geom= density , fill=YearRange, xlab= Accidents , ylab= Density , main= Density of Accidents per 5 years , alpha=I(.4)) This statement will plot the density of accidents of each year, from its beginning to end, as each layer as given in Fig. 1. Fig. 1: Data and correspoding density plot The attribute alpha  allows transparency of overlapping items, as indicated in the figure, with a value indicating the transparency strength.  geom  specifies the geometric objects that define the  graph type. It can be either point , smooth , boxplot , line , histogram , density , bar , or histogram . Now let us have a look at the  ggplot()  function in the ggplot2 library which is more advanced than qplot().  A typical  ggplot()  function takes two primary arguments –  data and aes. “ data ”   indicates the data frame contacting the data that is to be plotted and aes  itself is like a function to pass arguments to the plot. Now let us try  ggplot ( )  with an example. myplot<- ggplot(heightweight, aes(Height, Weight))   This statement will give us an error and no graph is plotted, as we have to specify the geometrical object we would like to use too. If we wish to get scatter plot, add  geom_point( ).   i.e. myplot + geom_point()<- ggplot(heightweight, aes(Height, Weight))   For getting lines that join data points, we can use myplot + geom_point()+ geom_line()<- ggplot(heightweight, aes(Height, Weight)) We can colour either the point or the line by adding aes(color = factor( ))  into the argument of  geom . That is if we want to add colour to the points use the below statement: myplot+geom_point(aes(color = factor(Height)))+ geom_line() See the resultant plot (Fig. 2). Fig. 2: Sample data and the obtained plot Now let us see how bubble plot is used to represent the literacy of people in different states of India. We used the sample data from  http://en.wikipedia.org/wiki/Demographics_of_India.  Let us try the following code: ggplot(data, aes(x = no, y = Population)) + geom_point(aes(size = Literacy), alpha = 0.5, position = jitter , color = red ) + geom_text(data=data, mapping=aes(x=no, y=Population, label=State), size=4, vjust=3, hjust=0.5) + scale_size(range = c(10, 50)) + theme_classic()    Fig. 3: Bubble plot In this article, we have indicated some of the usages of  ggplot2  package. You can explore a lot more capabilities of  ggplot2  and generate wonderful graphs to represent your data.
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks