- Paperback: 416 pages
- Publisher: O'Reilly Media; 1 edition (January 6, 2013)
- Language: English
- ISBN-10: 1449316956
- ISBN-13: 978-1449316952
- Product Dimensions: 7 x 0.9 x 9.2 inches
- Shipping Weight: 1.6 pounds (View shipping rates and policies)
- Average Customer Review: 84 customer reviews
- Amazon Best Sellers Rank: #60,304 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
R Graphics Cookbook: Practical Recipes for Visualizing Data 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
There is a newer edition of this item:
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
Q&A with Winston Chang, author of "R Graphics Cookbook: Practical Recipes for Visualizing Data"
Q. Why is your book timely?
A. Interest in R for data analysis and visualization has exploded in recent years. In the computer-tech world, computers and networks have made it much easier to gather and organize data, and more and more people have recognized that there's useful information to be found. To illustrate, consider the job "data scientist": this is a job title that didn't even exist five years ago, and now it's one of the hottest tickets on the market.
At the same time, there's been a swell of interest in R in its more traditional setting, in science and engineering. I think there are many reasons for this. One, is that there's a growing recognition outside of the computer-programmer world that learning a little programming can save you a lot of time and reduce errors. Another reason is that the last few years have seen an improvement in the user-friendliness of tools for using R.
So there's a lot of interest in using R for finding information in data, and visualization an essential tool for doing this. Data visualizations can help you understand your data and find patterns when you're in the exploratory phase of data analysis, and they are essential for communicating your findings to others.
Q. What information do you hope that readers of your book will walk away with?
A. As my book is a Cookbook, the primary goal is to efficiently present solutions for visualizing data, without demanding a large investment of time from the reader. For many readers, the goal is to just figure out how to make a particular type of graph and be done with it.
There are others who will want to gain a deeper understanding of how graphing works in R. For these readers, I've written an appendix on the graphing package ggplot2, which is used extensively in the recipes in the book. This appendix explains some of the concepts in the grammar of graphics, and how they relate to structures common to data visualizations in general.
Finally, I hope that readers will find ideas and inspiration for visualizing their data by browsing the pages and looking at the pictures.
Q. What's the most exciting/important thing happening in your space?
A. I'm excited that R is becoming more and more accessible to users who don't primarily identify as programmers. Many scientists, engineers, and data analysts have outgrown programs that provide canned data analysis routines, and they're turning increasingly to R. The growing popularity of R is part of a virtuous circle: as R gains a larger user base, it encourages people to create better educational materials and programming tools for R, which in turn helps to grow the number of R users.
Technology-wise, I'm excited by Shiny, which is a framework for bringing R analyses to the web. (I should mention that this it's part of my job to work on the development of Shiny.) This makes it possible to build interactive applications for data analysis and visualization for users who don't need to know R, or even that the application is backed by R.
About the Author
Winston Chang is a software engineer at RStudio, where he works on data visualization and software development tools for R. He holds a Ph.D. in Psychology from Northwestern University. During his time as a graduate student, he created a website called "Cookbook for R", which contains recipes for handling common tasks in R. In previous lives, he was a philosophy graduate student and a computer programmer.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
One of the grievous errors the author makes is not discussing the required ggplot2 data structure in the very beginning of the book. Strangely, this important introductory material is stuck off in an appendix at the very back of the book. By always using downloaded data sets from the R library for examples, the user must first download the example data files into R, run the example script and examine the data structure to see how ggplot2 syntax accessing the data set. The book does almost nothing to help the reader understand how to set up the proper data frame for ggplot2. Why not just use simple examples, show the entire sample data set, and explain to the reader how ggplot2 expects to find the plot data to be arranged?
The book assumes the reader already understands basic ggplot2 syntax. It starts out on page 8 with a scatter plot and presents the equation: ggplot(mtcars, aes(x=wt, y = mpg)) + geom_point(). Voila! Fig. 2.1 presents a scatter plot. But, the reader, new to ggplot2 syntax, wonders what aes() is. And, what is geom_point()? What are the roles of aes() and geom_point() in creating the plot and what variables do they use? Subsequent chapters give more complex examples of the various kinds of plots, but shed little additional light on the ggplot2 command structure. Ah, there is a short 10-page introduction to ggplot2 in the Appendix, and on page 379 at the very end of the book there is a single page with a very terse explanation of the role of the components of ggplot2 syntax. I had to look elsewhere to understand ggplot2 and then return to this book for examples of how to utilize the ggplot2 syntax.
I also think the author shortchanged the reader by not contrasting ggplot2 with the ‘graphics’ package built into R that uses the ‘plot’ function. The title of this book should have been ‘R Graphics Cookbook Using the ggplot2 Package.'
In the author’s defense,apparently this was never intended to be an introduction to ggplot2. It is an R graphics textbook giving examples using the ggplot2 graphics package but using canned data sets from the R library. Once the basics of ggplot2 are grasped by the reader, the book does an excellent job of presenting many examples of ways to creatively use the power of ggplot2 to do many kinds of charts and graphs. But, R programmers beginners in ggplot2 beware. This is not the book to use for learning the basics of ggplot2. I am still looking for a good introduction to ggplot2 and have yet to find something between the opaque CRAN-type descriptions like ggplot2-author Hadley Wickham’s “manual” (not helpful for beginners to ggplot2) and the example books like this one.
Let me start by expressing my bewilderment for the large number of overwhelmingly positive reviews. I cannot understand the enthusiasm of so many reviewers and I cannot shake the feeling that I missed the gusto of the meal presented. Thus, I feel like a hick-ish everyman dining in a fancy 6-star restaurant. I see that all other guests are enjoying themselves in their 10,000 dollar suits/dresses, but I, in contrast, find the food tasteless, the arrangement on the plate a pretentious mess and think that the waiter is an arrogant French pr*ck, who takes every dish away just as I get the taste of it and who condescendingly slaps me on the wrist whenever I try to eat a soup with a desert spoon.
My general feelings aside, my problem with this book is twofold:
1) I do not see how the format fits the purpose. The book is described as a cookbook, however, the presentation does not fit a recipe-style approach at all. Even looking at the TOC one can suspect that the author once must have had other intentions, I assume writing a classical textbook given how later chapters clearly build on earlier ones. If you are looking for a recipe fit for a specific topic you will most likely find it, but you will probably need to read another two chapters to grasp what is going on, even if you are an experiences R-user. In that regard the book seems awfully stuck in the middle.
2) The overall presentation is awful and not the least bit engaging. The typeset is poor and the framing of topics hardly comprehensible. To give you an idea of what I mean, this is how a typical page layout looks like:
### t/T...text, R...code, G...graphic ###
What I wanted to demonstrate is how frequently the author jumps between text, code, and output. Maybe it is only my limited brain, but I find this framing both hard to follow and hard on the eyes.
Don't get me wrong, the content of the book is more than adequate, however I recommend that the chef should try to work on his arrangement skills. I think, most readers would find an approach more appealing that presents the code first, then the output, and describe what was going on last, instead of a constant mix of those three elements. Also the author should definitely work on his tendency to be overly redundant (he usually starts a chapter with the formulation of the problem he is trying to resolve and very often then immediately follows up with a NON-optimal (!) solution before presenting the actual solution). This is absolutely unnecessary in this format! Furthermore, the author shows a tendency to switch between sample data sets more often than French waiter switches to a new love interest.