We’ll be using the diamonds dataset for practice this week. It comes with the dplyr package, so make sure to run the set up chunk above before doing anything else.
Look at the dataset before you do anything else. You’ll need to know the column names and types before plotting
head(diamonds)
## # A tibble: 6 x 10
## carat cut color clarity depth table price x y z
## <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
## 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
## 3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
## 4 0.290 Premium I VS2 62.4 58 334 4.2 4.23 2.63
## 5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
## 6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
Plot a scatterplot with depth on the x-axis and table on the y-axis.
ggplot(diamonds, aes(x = depth, y = table)) + geom_point()
Now, with the same variables, add color by cut.
ggplot(diamonds, aes(x = depth, y = table, color = cut)) + geom_point()
Make boxplots for prices at each cut.
ggplot(diamonds, aes(x = cut, y = price)) + geom_boxplot()
Make a barplot for diamond color.
ggplot(diamonds, aes(x = color)) + geom_bar()
Plot the columns listed using whatever type of plot and any extras you’d like.
All the answers in this section are guidelines; as long as you got a plot out, you did it.
price
ggplot(diamonds, aes(x = price)) + geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
carat, clarity
ggplot(diamonds, aes(x = carat, fill = clarity)) + geom_density(alpha = 0.5)
cut, price
ggplot(diamonds, aes(x = cut, y = price, fill = cut)) + geom_violin(alpha = 0.8)
cut, color, price
ggplot(diamonds, aes(x = color, y = price, fill = color)) + geom_boxplot(alpha = 0.8) + facet_grid(~ cut)
Make a scatter plot for price vs. carat, colored with viridis by depth, and with partial transparency.
ggplot(diamonds, aes(x = price, y = carat, color = depth)) + geom_point(alpha = 0.5) + scale_color_viridis()
Make density plots for price, faceted by clarity and filled by clarity using viridis.
ggplot(diamonds, aes(x = price, fill = clarity)) +
geom_density() +
scale_fill_viridis_d() +
facet_wrap(~ clarity)