During ANLY 512 we will be studying the theory and practice of data visualization. We will be using R and the packages within R to assemble data and construct many different types of visualizations. We begin by studying some of the theoretical aspects of visualization. To do that we must appreciate the actual steps in the process of making a visualization.
Most of us use softare to do this and have done so for so long that we have lost an appreciation for the mechanistic steps involved in accurately graphing data. We will fix that this week by creating a series of analog (meaning you draw them by hand) graphics. The visualizations you create must be numerically and visually accurate and precisely scaled. Because of that the data sets we visualize will be small.
A couple of tips, remember that there is preprocessing involved in many graphics so you may have to do summaries or calculations to prepare, those should be included in your work.
To ensure accuracy pay close attention to axes and labels, you will be evaluated based on the accuracy of your graphics.
The final product of your homework (this file) should include scanned or photographed images for each question below and a short summary of the process.
To submit this homework you will create the document in Rstudio, using the knitr package (button included in Rstudio) and then submit the document to your Rpubs account. Once uploaded your will submit the link to that document on Moodle.
Find the mtcars data in R. This is the dataset that you will use to create your graphics. Use that data to draw by hand graphics for the next 4 questions.
library(ggplot2)
data(mtcars)
summary(mtcars)
## mpg cyl disp hp
## Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
## 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
## Median :19.20 Median :6.000 Median :196.3 Median :123.0
## Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
## 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
## Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
## drat wt qsec vs
## Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
## 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
## Median :3.695 Median :3.325 Median :17.71 Median :0.0000
## Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
## 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
## Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
## am gear carb
## Min. :0.0000 Min. :3.000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
## Median :0.0000 Median :4.000 Median :2.000
## Mean :0.4062 Mean :3.688 Mean :2.812
## 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :1.0000 Max. :5.000 Max. :8.000
mtcars data set that have different carb values.##By R
ggplot(data=mtcars,
aes(x = factor(1), fill = factor(carb))) +
ylab("Proportions of cars by 'carb' value") +
xlab("") +
geom_bar(width = 1) +
coord_polar(theta = "y")
##By Hand
knitr::include_graphics("C:\\Users\\xierong\\Desktop\\01.png")
gear type in mtcars.##By R
ggplot(data=mtcars, aes(x=gear)) + geom_bar(stat="count")
```
##By Hand
knitr::include_graphics("C:\\Users\\xierong\\Desktop\\02.png")
3. Next show a stacked bar graph of the number of each
gear type and how they are further divded out by cyl.
##By R
ggplot(mtcars, aes(x = factor(cyl), fill = factor(gear))) +
xlab("Values of 'cyl'") +
ylab("Values of 'count of gear'") +
geom_bar(color="black")
```
##By Hand
knitr::include_graphics("C:\\Users\\xierong\\Desktop\\03.png")
4. Draw a scatter plot showing the relationship between
wt and mpg.
##By R
ggplot(mtcars, aes(x = wt, y = mpg)) +
xlab("wt") +
ylab("mpg") +
geom_point() +
geom_line() +
ggtitle("Relationship between 'wt' and 'mpg'") +
stat_smooth(method = "loess", formula = y ~ x, size = 1, col = "red")
```
##By Hand
knitr::include_graphics("C:\\Users\\xierong\\Desktop\\04.png")
##Draw a bar graph, that shows the number of each cyl type in mtcars.
ggplot(data=mtcars, aes(x=factor(cyl))) + geom_bar(stat="count")
```
##By Hand
knitr::include_graphics("C:\\Users\\xierong\\Desktop\\05.png")