Viewing slides…
Printing slides…
## Ozone Solar.R Wind Temp Month Day date
## 1 41 190 7.4 67 5 1 1973-05-01
## 2 36 118 8.0 72 5 2 1973-05-02
## 3 12 149 12.6 74 5 3 1973-05-03
## 4 18 313 11.5 62 5 4 1973-05-04
## 5 NA NA 14.3 56 5 5 1973-05-05
## 6 28 NA 14.9 66 5 6 1973-05-06
## 7 23 299 8.6 65 5 7 1973-05-07
## 8 19 99 13.8 59 5 8 1973-05-08
## 9 8 19 20.1 61 5 9 1973-05-09
## 10 NA 194 8.6 69 5 10 1973-05-10
## 11 7 NA 6.9 74 5 11 1973-05-11
## 12 16 256 9.7 69 5 12 1973-05-12
## 13 11 290 9.2 66 5 13 1973-05-13
## 14 14 274 10.9 68 5 14 1973-05-14
## 15 18 65 13.2 58 5 15 1973-05-15
## 16 14 334 11.5 64 5 16 1973-05-16
## 17 34 307 12.0 66 5 17 1973-05-17
## 18 6 78 18.4 57 5 18 1973-05-18
## 19 30 322 11.5 68 5 19 1973-05-19
## 20 11 44 9.7 62 5 20 1973-05-20
## 21 1 8 9.7 59 5 21 1973-05-21
## 22 11 320 16.6 73 5 22 1973-05-22
## 23 4 25 9.7 61 5 23 1973-05-23
## 24 32 92 12.0 61 5 24 1973-05-24
## 25 NA 66 16.6 57 5 25 1973-05-25
## 26 NA 266 14.9 58 5 26 1973-05-26
## 27 NA NA 8.0 57 5 27 1973-05-27
## 28 23 13 12.0 67 5 28 1973-05-28
## 29 45 252 14.9 81 5 29 1973-05-29
## 30 115 223 5.7 79 5 30 1973-05-30
## 31 37 279 7.4 76 5 31 1973-05-31
## 32 NA 286 8.6 78 6 1 1973-06-01
## 33 NA 287 9.7 74 6 2 1973-06-02
## 34 NA 242 16.1 67 6 3 1973-06-03
## 35 NA 186 9.2 84 6 4 1973-06-04
## 36 NA 220 8.6 85 6 5 1973-06-05
## 37 NA 264 14.3 79 6 6 1973-06-06
## 38 29 127 9.7 82 6 7 1973-06-07
## 39 NA 273 6.9 87 6 8 1973-06-08
## 40 71 291 13.8 90 6 9 1973-06-09
## 41 39 323 11.5 87 6 10 1973-06-10
## 42 NA 259 10.9 93 6 11 1973-06-11
## 43 NA 250 9.2 92 6 12 1973-06-12
## 44 23 148 8.0 82 6 13 1973-06-13
## 45 NA 332 13.8 80 6 14 1973-06-14
## 46 NA 322 11.5 79 6 15 1973-06-15
## 47 21 191 14.9 77 6 16 1973-06-16
## 48 37 284 20.7 72 6 17 1973-06-17
## 49 20 37 9.2 65 6 18 1973-06-18
## 50 12 120 11.5 73 6 19 1973-06-19
## 51 13 137 10.3 76 6 20 1973-06-20
## 52 NA 150 6.3 77 6 21 1973-06-21
## 53 NA 59 1.7 76 6 22 1973-06-22
## 54 NA 91 4.6 76 6 23 1973-06-23
## 55 NA 250 6.3 76 6 24 1973-06-24
## 56 NA 135 8.0 75 6 25 1973-06-25
## 57 NA 127 8.0 78 6 26 1973-06-26
## 58 NA 47 10.3 73 6 27 1973-06-27
## 59 NA 98 11.5 80 6 28 1973-06-28
## 60 NA 31 14.9 77 6 29 1973-06-29
## 61 NA 138 8.0 83 6 30 1973-06-30
## 62 135 269 4.1 84 7 1 1973-07-01
## 63 49 248 9.2 85 7 2 1973-07-02
## 64 32 236 9.2 81 7 3 1973-07-03
## 65 NA 101 10.9 84 7 4 1973-07-04
## 66 64 175 4.6 83 7 5 1973-07-05
## 67 40 314 10.9 83 7 6 1973-07-06
## 68 77 276 5.1 88 7 7 1973-07-07
## 69 97 267 6.3 92 7 8 1973-07-08
## 70 97 272 5.7 92 7 9 1973-07-09
## 71 85 175 7.4 89 7 10 1973-07-10
## 72 NA 139 8.6 82 7 11 1973-07-11
## 73 10 264 14.3 73 7 12 1973-07-12
## 74 27 175 14.9 81 7 13 1973-07-13
## 75 NA 291 14.9 91 7 14 1973-07-14
## 76 7 48 14.3 80 7 15 1973-07-15
## 77 48 260 6.9 81 7 16 1973-07-16
## 78 35 274 10.3 82 7 17 1973-07-17
## 79 61 285 6.3 84 7 18 1973-07-18
## 80 79 187 5.1 87 7 19 1973-07-19
## 81 63 220 11.5 85 7 20 1973-07-20
## 82 16 7 6.9 74 7 21 1973-07-21
## 83 NA 258 9.7 81 7 22 1973-07-22
## 84 NA 295 11.5 82 7 23 1973-07-23
## 85 80 294 8.6 86 7 24 1973-07-24
## 86 108 223 8.0 85 7 25 1973-07-25
## 87 20 81 8.6 82 7 26 1973-07-26
## 88 52 82 12.0 86 7 27 1973-07-27
## 89 82 213 7.4 88 7 28 1973-07-28
## 90 50 275 7.4 86 7 29 1973-07-29
## 91 64 253 7.4 83 7 30 1973-07-30
## 92 59 254 9.2 81 7 31 1973-07-31
## 93 39 83 6.9 81 8 1 1973-08-01
## 94 9 24 13.8 81 8 2 1973-08-02
## 95 16 77 7.4 82 8 3 1973-08-03
## 96 78 NA 6.9 86 8 4 1973-08-04
## 97 35 NA 7.4 85 8 5 1973-08-05
## 98 66 NA 4.6 87 8 6 1973-08-06
## 99 122 255 4.0 89 8 7 1973-08-07
## 100 89 229 10.3 90 8 8 1973-08-08
## 101 110 207 8.0 90 8 9 1973-08-09
## 102 NA 222 8.6 92 8 10 1973-08-10
## 103 NA 137 11.5 86 8 11 1973-08-11
## 104 44 192 11.5 86 8 12 1973-08-12
## 105 28 273 11.5 82 8 13 1973-08-13
## 106 65 157 9.7 80 8 14 1973-08-14
## 107 NA 64 11.5 79 8 15 1973-08-15
## 108 22 71 10.3 77 8 16 1973-08-16
## 109 59 51 6.3 79 8 17 1973-08-17
## 110 23 115 7.4 76 8 18 1973-08-18
## 111 31 244 10.9 78 8 19 1973-08-19
## 112 44 190 10.3 78 8 20 1973-08-20
## 113 21 259 15.5 77 8 21 1973-08-21
## 114 9 36 14.3 72 8 22 1973-08-22
## 115 NA 255 12.6 75 8 23 1973-08-23
## 116 45 212 9.7 79 8 24 1973-08-24
## 117 168 238 3.4 81 8 25 1973-08-25
## 118 73 215 8.0 86 8 26 1973-08-26
## 119 NA 153 5.7 88 8 27 1973-08-27
## 120 76 203 9.7 97 8 28 1973-08-28
## 121 118 225 2.3 94 8 29 1973-08-29
## 122 84 237 6.3 96 8 30 1973-08-30
## 123 85 188 6.3 94 8 31 1973-08-31
## 124 96 167 6.9 91 9 1 1973-09-01
## 125 78 197 5.1 92 9 2 1973-09-02
## 126 73 183 2.8 93 9 3 1973-09-03
## 127 91 189 4.6 93 9 4 1973-09-04
## 128 47 95 7.4 87 9 5 1973-09-05
## 129 32 92 15.5 84 9 6 1973-09-06
## 130 20 252 10.9 80 9 7 1973-09-07
## 131 23 220 10.3 78 9 8 1973-09-08
## 132 21 230 10.9 75 9 9 1973-09-09
## 133 24 259 9.7 73 9 10 1973-09-10
## 134 44 236 14.9 81 9 11 1973-09-11
## 135 21 259 15.5 76 9 12 1973-09-12
## 136 28 238 6.3 77 9 13 1973-09-13
## 137 9 24 10.9 71 9 14 1973-09-14
## 138 13 112 11.5 71 9 15 1973-09-15
## 139 46 237 6.9 78 9 16 1973-09-16
## 140 18 224 13.8 67 9 17 1973-09-17
## 141 13 27 10.3 76 9 18 1973-09-18
## 142 24 238 10.3 68 9 19 1973-09-19
## 143 16 201 8.0 82 9 20 1973-09-20
## 144 13 238 12.6 64 9 21 1973-09-21
## 145 23 14 9.2 71 9 22 1973-09-22
## 146 36 139 10.3 81 9 23 1973-09-23
## 147 7 49 10.3 69 9 24 1973-09-24
## 148 14 20 16.6 63 9 25 1973-09-25
## 149 30 193 6.9 70 9 26 1973-09-26
## 150 NA 145 13.2 77 9 27 1973-09-27
## 151 14 191 14.3 75 9 28 1973-09-28
## 152 18 131 8.0 76 9 29 1973-09-29
## 153 20 223 11.5 68 9 30 1973-09-30
stats
transformations include the
following:
Coordinate systems are used to determine the placement of geometric objects within a plot:
ggplot2
ggplot2
is a high-level R package,
developed by Hadley Wickham based on Layered Grammar of Graphicsggplot2
builds a
visualisation.ggplot2
object, defining a
coordinate system and selecting our scales.ggplot() +
coord_cartesian() +
scale_x_date(name = "Date") +
scale_y_continuous(name = "Ozone (Mean ppb 13:00 - 15:00)")
ggplot() +
coord_cartesian() +
scale_x_date(name = "Date") +
scale_y_continuous(name = "Ozone (Mean ppb 13:00 - 15:00)") +
layer(
data = airquality,
mapping = aes(x = date, y = Ozone),
stat = "identity",
geom = "point",
position = position_identity()
) +
layer(
data = airquality,
mapping = aes(x = date, y = Ozone),
stat = "identity",
geom = "line",
position = position_identity()
)
ggplot() +
coord_cartesian() +
scale_x_date(name = "Date") +
scale_y_continuous(name = "Ozone (Mean ppb 13:00 - 15:00)") +
layer(
data = airquality,
mapping = aes(x = date, y = Ozone),
stat = "identity",
geom = "point",
position = position_identity()
) +
layer(
data = airquality,
mapping = aes(x = date, y = Ozone),
stat = "identity",
geom = "line",
position = position_identity()
) +
layer(
data = airquality,
mapping = aes(x = date, y = Ozone),
stat = "smooth",
params = list(method = "loess", span = 0.4, se = FALSE),
geom = "smooth",
position = position_identity()
)
ggplot2
is far more succinct.p <- ggplot(data = airquality, aes(x = date, y = Ozone))
p + geom_point() +
geom_line(aes(group = 1)) +
geom_smooth(se = FALSE, span = 0.4) +
labs(
title = "Air Quality - New York 1973 (Roosevelt Island)",
x = "Date",
y = "Ozone (Mean ppb 13:00 - 15:00)"
)
ggplot2
.
qplot()
qplot()
function in ggplot2
is a quick
method to develop basic data visualisations with sensible defaults.qplot()
cont.qplot()
cont. 2qplot(x = Fjob, y = G3, data = student ,geom = "boxplot") +
stat_summary(fun.y = mean, colour = "red", geom = "point")
qplot()
cont. 3qplot()
cont. 4qplot()
cont. 5qplot()
cont. 6qplot()
cont. 7qplot(x = G1,y = G3, data = student, geom = "point") +
geom_smooth(method="lm") + facet_wrap(~ Mjob)
ggplot()
ggplot()
is a more powerful, layered approach to
building a visualisation.ggplot
object, p1
aes
are the aesthetic mappings. Any layers added will
map the data to the corresponding aesthetics in the geom
.
For example, a box plot.ggplot()
cont.p1
to add more layers or
change the visualisation completely.ggplot()
cont. 2fill
aesthetic to
sex
.ggplot()
cont. 3geom
that
conveys sample size…ggplot()
cont. 4colour
refers to the outline or solid colour of an
object. fill
refers to the inside colour of a large object,
e.g. bar or box.ggplot()
Jitterggplot()
Adding Layersgeoms
is easy…outlier.shape = NA
to suppress the
outliers plotted for the boxplotggplot()
Themesp3 + geom_jitter(position = position_jitterdodge()) +
geom_boxplot(fill = NA, outlier.shape = NA) + theme_bw()
ggplot()
Adding Titles and Labelsp3 + geom_jitter(position = position_jitterdodge()) +
geom_boxplot(fill = NA, outlier.shape = NA) +
labs(title = "Final Grades by Gender and Alcohol Consumption Ratings",
x = "Weekday Alcohol Consumption Rating (1 = low - 5 = high)",
y = "Final Grade - Portuguese")
ggplot()
Savingggsave()
function which
saves an image, using sensible defaults, to your working directory."cm"
if you want metric.<img src=“../images/brewer.png” width=“30%”, align = “right”>
RColorBrewer
<img src=“../images/colourpickerdemo.PNG” width=“30%”, align = “right”>
The colourpicker
package provides
ggplot2
with a very useful interface for colour picking and
exploration.
First, install the package.
Pizza <- read.csv("../data/Pizza.csv")
p1 <- ggplot(data = Pizza, aes(x = Diameter))
p1 + geom_histogram()
Pizza$Crust<-factor(Pizza$Crust, levels = c("Thin","Mid","DeepPan"),
ordered = T)
p3 <-ggplot(data = Pizza, aes(x = Store, y = Diameter, fill = Crust))
p3 + geom_boxplot()
palette()
…Diamonds <- read.csv("../data/Diamonds.csv")
p4 <- ggplot(data = Diamonds, aes(x = carat, y = price))
p4 + geom_point()
ggplot2
Resourcesggplot2
Documentationggplot2
:
Elegant Graphics for Data Analysisggplot2
Cheat Sheet