```
library(tidyverse)
theme_set(theme_bw(base_size = 12))
set.seed(1)
```

This website — https://ggplot2.tidyverse.org/reference/ — is incredibly useful. We’ll focus on the most basic building blocks. Let’s build a couple of data frames to use:

```
scores <-
tibble(
name = c("mike", "carol", "greg", "marcia", "peter", "jan", "bobby", "cindy", "alice"),
school = c("south", "south", "south", "south", "north", "north", "north", "south", "south"),
teacher = c("johnson", "johnson", "johnson", "johnson", "smith", "smith", "smith", "perry", "perry"),
math_score = c(4, 3, 2, 4, 3, 4, 5, 4, 5),
reading_score = c(1, 5, 2, 4, 5, 4, 1, 5, 4)
)
random_numbers <-
tibble(
binom = rbinom(1000, 10, 0.5),
pois = rpois(1000, 5)
) %>%
mutate(
mix = rnorm(1000, binom + pois, 5),
high_low = ifelse(mix > 10, "high", "low")
)
```

To get the basics down, I’ll show an example using the `scores`

dataset and then ask you to make a similar plot using the `random_numbers`

dataset.

If your variable is continuous, you’ll want to use `geom_histogram`

:

```
scores %>%
ggplot(aes(x = math_score)) +
geom_histogram(binwidth = 2)
```

`?geom_histogram`

Make a histogram with the random numbers and play around with `geom_histogram`

options:

```
random_numbers %>%
ggplot(aes(x = binom)) +
geom_histogram(bins = 20)
```

If your variable is discrete, you’ll want to use `geom_bar`

:

```
scores %>%
ggplot(aes(x = teacher)) +
geom_bar()
```

Your turn with `geom_bar`

:

```
random_numbers %>%
ggplot(aes(x = high_low)) +
geom_bar() +
coord_flip()
```