Created
June 14, 2011 20:27
-
-
Save 1beb/1025782 to your computer and use it in GitHub Desktop.
Part 1: ggplot2 Intro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Title: ggplot2 Introduction | |
## Description: This line by line analysis, provides an introduction to ggplot2 | |
## Created by: Brandon Bertelsen: Research Manager, Credo Consulting Inc. | |
# install.packages("ggplot2") | |
## Load Library | |
library(ggplot2) | |
# load sample data | |
d <- diamonds | |
# let's look at what we have | |
str(diamonds) | |
# 'data.frame': 53940 obs. of 10 variables: | |
# $ carat : num 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ... | |
# $ cut : Factor w/ 5 levels "Fair","Good",..: 5 4 2 4 2 3 3 3 1 3 ... | |
# $ color : Factor w/ 7 levels "D","E","F","G",..: 2 2 2 6 7 7 6 5 2 5 ... | |
# $ clarity: Factor w/ 8 levels "I1","SI2","SI1",..: 2 3 5 4 2 6 7 3 4 5 ... | |
# $ depth : num 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ... | |
# $ table : num 55 61 65 58 58 57 57 55 61 61 ... | |
# $ price : int 326 326 327 334 335 336 336 337 337 338 ... | |
# $ x : num 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ... | |
# $ y : num 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ... | |
# $ z : num 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ... | |
# Start simple, build up. A histogram of diamond prices | |
ggplot(d, aes(price)) + geom_histogram() | |
# Lets try to see a bit more granularity | |
ggplot(d, aes(price)) + geom_histogram(binwidth=100) | |
# Look at density instead | |
ggplot(d, aes(price)) + geom_density() | |
# See the relationship between carat and price | |
ggplot(d, aes(price, carat)) + geom_point() | |
# Label our prices by clarity and look for relationships | |
ggplot(d, aes(price, carat, label=clarity)) + geom_text() | |
# Sample our data to get a better understanding of relationship | |
ggplot(d[sample(rownames(d),1000),], aes(price, carat, label=clarity)) + geom_text() | |
# Still not really providing a good view, perhaps we should color our data | |
ggplot(d, aes(price, carat, color=clarity)) + geom_point() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment