-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path02-forcats.Rmd
41 lines (33 loc) · 1.84 KB
/
02-forcats.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
title: "Forcats"
output: html_document
---
Load packages:
```{r message=FALSE}
library(tidyverse)
library(scales)
```
Load data:
```{r load-data, message=FALSE}
hotels <- read_csv("data/hotels.csv")
```
First, knit the document and view the following visualisation. How are the months ordered? What would be a better order? Then, reorder the months on the x-axis (levels of `arrival_date_month`) in a way that makes more sense. You will want to use a function from the **forcats** package, see https://forcats.tidyverse.org/reference/index.html for inspiration and help.
**Stretch goal:** If you finish the above task before time is up, change the y-axis label so the values are shown with dollar signs, e.g. $80 instead of 80. You will want to use a function from the **scales** package, see https://scales.r-lib.org/reference/index.html for inspiration and help.
```{r plot, fig.width=10}
hotels %>%
group_by(hotel, arrival_date_month) %>% # group by hotel type and arrival month
summarise(mean_adr = mean(adr)) %>% # calculate mean adr for each group
ggplot(aes(
x = arrival_date_month, # x-axis = arrival_date_month
y = mean_adr, # y-axis = mean_adr calculated above
group = hotel, # group lines by hotel type
color = hotel) # and color by hotel type
) +
geom_line() + # use lines to represent data
theme_minimal() + # use a minimal theme
labs(x = "Arrival month", # customize labels
y = "Mean ADR (average daily rate)",
title = "Comparison of resort and city hotel prices across months",
subtitle = "Resort hotel prices soar in the summer while ciry hotel prices remain relatively constant throughout the year",
color = "Hotel type")
```