# packages for the day
library(tidyverse)
library(scales)
library(ggrepel)
library(patchwork)
library(tidyquant)
Chapter 12 w/ Zillow Data
Packages
- scales
- ggrepel (extension)
- patchwork (extension)
Data Import & Tidy
- Here’s a script to import the data.
# the code below "calls" the script zillow-class.R, it's equivalent to running the code contained therein from the command line
source(file = "zillow-class.R")
[1] "CO"
[1] "MI"
[1] "AL"
[1] "FL"
# change name to zillow
<- zil_sub;
zillow
# remove original data set
rm(zil_sub)
compare states
<- zillow |> group_by(state_name) |>
states summarize(
mean_sell = mean(sell_price, na.rm = TRUE),
mean_list = mean(list_price, na.rm = TRUE),
n = n())
Labels
ggplot(states, aes(
x = fct_reorder(state_name,mean_sell),
y = mean_sell)) +
geom_bar(aes(fill = state_name),
stat = "identity",
width = .3) +
geom_point(aes(fill = state_name, color = state_name)) +
labs(
x = "States",
y = "Mean Selling Price",
color = "State",
title = "Per State Selling Prices",
subtitle = "who's winning?",
caption = "Data from Zillow"
+
) theme(legend.position = "none",
axis.text.y = element_text(size = 6)) +
coord_flip() +
scale_y_continuous(labels = label_dollar())
<- mutate(states,
states state_name = fct_reorder(state_name, mean_sell))
ggplot(states, aes(
x = state_name,
y = mean_sell)) +
geom_point(aes(fill = state_name, color = state_name)) +
geom_segment(aes(
xend = state_name,
yend = mean_list,
color = state_name)) +
geom_point(aes(y = mean_list, color = state_name),
fill = "black",
shape = 21) +
labs(
x = "States",
y = "Mean Selling Price",
color = "State",
title = "Per State Selling Prices",
subtitle = "List prices (in black) compared to selling prices",
caption = "Data from Zillow"
+
) scale_y_continuous(labels = label_dollar()) +
scale_color_viridis_d() +
theme(legend.position = "none",
axis.text.y = element_text(size = 6)) +
coord_flip()
## Scales
# x axis tick mark labels
# p + theme(axis.text.x= element_text(family, face, colour, size))
# y axis tick mark labels
# p + theme(axis.text.y = element_text(family, face, colour, size))