── Attaching packages ──────────────────────────────────────── tidyverse 1.2.1 ──
✔ ggplot2 3.2.1     ✔ purrr   0.3.2
✔ tibble  2.1.3     ✔ dplyr   0.8.3
✔ tidyr   0.8.3     ✔ stringr 1.4.0
✔ readr   1.3.1     ✔ forcats 0.4.0
── Conflicts ─────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()

Attaching package: ‘skimr’

The following object is masked from ‘package:stats’:

    filter


Attaching package: ‘lubridate’

The following object is masked from ‘package:base’:

    date
pets <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-03-26/seattle_pets.csv")
Parsed with column specification:
cols(
  license_issue_date = col_character(),
  license_number = col_character(),
  animals_name = col_character(),
  species = col_character(),
  primary_breed = col_character(),
  secondary_breed = col_character(),
  zip_code = col_character()
)
pets$species <- as.factor(pets$species)
ggplot(pets) +  
  aes(species)+ 
  geom_bar()

NA
NA
NA
dogs <- pets %>% 
  filter(species == "Dog")

cats <- pets %>% 
  filter(species == "Cat")
skim(cats)
Skim summary statistics
 n obs: 17294 
 n variables: 7 

── Variable type:character ──────────────────────────────────────────────────────
           variable missing complete     n min max empty n_unique
       animals_name     406    16888 17294   1  45     0     7026
 license_issue_date       0    17294 17294  11  17     0      882
     license_number       0    17294 17294   1   8     0    17286
      primary_breed       0    17294 17294   3  21     0       58
    secondary_breed   11173     6121 17294   3  21     0       52
           zip_code     127    17167 17294   4  10     0       88

── Variable type:factor ─────────────────────────────────────────────────────────
 variable missing complete     n n_unique                         top_counts
  species       0    17294 17294        1 Cat: 17294, Dog: 0, Goa: 0, Pig: 0
 ordered
   FALSE
cats_by_breed <- cats %>% 
  group_by(primary_breed) %>%
  summarise(count = n()) %>%
  arrange(desc(count))
ggplot(cats_by_breed, aes(reorder(primary_breed, count), y = count)) + geom_col() +
  coord_flip()

'%not in%' <- Negate('%in%')
exclude_cat_breeds <- c("Domestic Shorthair", "Domestic Medium Hair", "Domestic Longhair", "American Shorthair")

cats_by_specific_breed <- cats_by_breed %>% 
  filter(primary_breed %not in% exclude_cat_breeds) %>%
  filter(count >= 5)

ggplot(cats_by_specific_breed, aes(reorder(primary_breed, count), y = count)) + geom_col() +
  coord_flip() +
  labs(x = "Breed Name")

dogs %>% 
  group_by(primary_breed, animals_name) %>%
  summarise(value = n()) %>%
  filter(value == 2) %>%
  arrange(desc(value))
GOT_names <- c("Tyrion", "Jon", "Cersei", "Daenerys", "Sansa", "Arya", "Jaime", "Jorah", "Theon", "Samwell")
GOT_pets <- pets %>% 
  filter(animals_name %in% GOT_names)
GOT_pets %>% group_by(animals_name) %>% summarise(count = n()) %>% arrange(desc(count))
library(gameofthrones)
library(showtext)
Loading required package: sysfonts
Loading required package: showtextdb
font_add_google(name = "Cinzel", family = "Cinzel")
showtext_auto()

ggplot(GOT_pets, aes(fct_infreq(animals_name), fill = species)) + 
  geom_bar() + 
  scale_fill_got_d(option = "Targaryen", direction = - 1) +
  labs(title = "A Goat Named Arya", subtitle = "Game of Thrones Inspired (Maybe) Pet Names in Seattle", x = element_blank(), y = element_blank(), caption = "@MaraAlexeev") +
  theme_minimal() +
  theme(legend.position = c(0.9, 0.6)) +
  labs(fill = "Pet Species") +
  theme(text=element_text(size=16,  family="Cinzel"))

NA
pets$license_issue_date <- as.Date(pets$license_issue_date, "%B %d %Y")
limited <- pets %>% filter(license_issue_date > 2018-01-01)
  
ggplot(limited, aes(license_issue_date)) + geom_bar() + scale_x_date()

LS0tCnRpdGxlOiAiVGlkeSBUdWVzZGF5IgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCmBgYHtyIGxpYnJhcmllcywgZWNobz19CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KHNraW1yKQpsaWJyYXJ5KGx1YnJpZGF0ZSkKYGBgCgoKCmBgYHtyfQpwZXRzIDwtIHJlYWRyOjpyZWFkX2NzdigiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3Jmb3JkYXRhc2NpZW5jZS90aWR5dHVlc2RheS9tYXN0ZXIvZGF0YS8yMDE5LzIwMTktMDMtMjYvc2VhdHRsZV9wZXRzLmNzdiIpCgpgYGAKYGBge3J9CnBldHMkc3BlY2llcyA8LSBhcy5mYWN0b3IocGV0cyRzcGVjaWVzKQpgYGAKCgpgYGB7cn0KZ2dwbG90KHBldHMpICsgIAogIGFlcyhzcGVjaWVzKSsgCiAgZ2VvbV9iYXIoKQoKCgpgYGAKCmBgYHtyfQpkb2dzIDwtIHBldHMgJT4lIAogIGZpbHRlcihzcGVjaWVzID09ICJEb2ciKQoKY2F0cyA8LSBwZXRzICU+JSAKICBmaWx0ZXIoc3BlY2llcyA9PSAiQ2F0IikKCmBgYAoKYGBge3J9CnNraW0oY2F0cykKYGBgCgpgYGB7cn0KY2F0c19ieV9icmVlZCA8LSBjYXRzICU+JSAKICBncm91cF9ieShwcmltYXJ5X2JyZWVkKSAlPiUKICBzdW1tYXJpc2UoY291bnQgPSBuKCkpICU+JQogIGFycmFuZ2UoZGVzYyhjb3VudCkpCgpgYGAKCmBgYHtyfQpnZ3Bsb3QoY2F0c19ieV9icmVlZCwgYWVzKHJlb3JkZXIocHJpbWFyeV9icmVlZCwgY291bnQpLCB5ID0gY291bnQpKSArIGdlb21fY29sKCkgKwogIGNvb3JkX2ZsaXAoKQpgYGAKCmBgYHtyfQonJW5vdCBpbiUnIDwtIE5lZ2F0ZSgnJWluJScpCmBgYAoKYGBge3J9CmV4Y2x1ZGVfY2F0X2JyZWVkcyA8LSBjKCJEb21lc3RpYyBTaG9ydGhhaXIiLCAiRG9tZXN0aWMgTWVkaXVtIEhhaXIiLCAiRG9tZXN0aWMgTG9uZ2hhaXIiLCAiQW1lcmljYW4gU2hvcnRoYWlyIikKCmNhdHNfYnlfc3BlY2lmaWNfYnJlZWQgPC0gY2F0c19ieV9icmVlZCAlPiUgCiAgZmlsdGVyKHByaW1hcnlfYnJlZWQgJW5vdCBpbiUgZXhjbHVkZV9jYXRfYnJlZWRzKSAlPiUKICBmaWx0ZXIoY291bnQgPj0gNSkKCmdncGxvdChjYXRzX2J5X3NwZWNpZmljX2JyZWVkLCBhZXMocmVvcmRlcihwcmltYXJ5X2JyZWVkLCBjb3VudCksIHkgPSBjb3VudCkpICsgZ2VvbV9jb2woKSArCiAgY29vcmRfZmxpcCgpICsKICBsYWJzKHggPSAiQnJlZWQgTmFtZSIpCmBgYAoKYGBge3J9CmRvZ3MgJT4lIAogIGdyb3VwX2J5KHByaW1hcnlfYnJlZWQsIGFuaW1hbHNfbmFtZSkgJT4lCiAgc3VtbWFyaXNlKHZhbHVlID0gbigpKSAlPiUKICBmaWx0ZXIodmFsdWUgPT0gMikgJT4lCiAgYXJyYW5nZShkZXNjKHZhbHVlKSkKYGBgCgpgYGB7cn0KR09UX25hbWVzIDwtIGMoIlR5cmlvbiIsICJKb24iLCAiQ2Vyc2VpIiwgIkRhZW5lcnlzIiwgIlNhbnNhIiwgIkFyeWEiLCAiSmFpbWUiLCAiSm9yYWgiLCAiVGhlb24iLCAiU2Ftd2VsbCIpCmBgYAoKCmBgYHtyfQpHT1RfcGV0cyA8LSBwZXRzICU+JSAKICBmaWx0ZXIoYW5pbWFsc19uYW1lICVpbiUgR09UX25hbWVzKQpgYGAKCmBgYHtyfQpHT1RfcGV0cyAlPiUgZ3JvdXBfYnkoYW5pbWFsc19uYW1lKSAlPiUgc3VtbWFyaXNlKGNvdW50ID0gbigpKSAlPiUgYXJyYW5nZShkZXNjKGNvdW50KSkKYGBgCgpgYGB7cn0KbGlicmFyeShnYW1lb2Z0aHJvbmVzKQpgYGAKYGBge3J9CmxpYnJhcnkoc2hvd3RleHQpCmZvbnRfYWRkX2dvb2dsZShuYW1lID0gIkNpbnplbCIsIGZhbWlseSA9ICJDaW56ZWwiKQpgYGAKCgoKYGBge3J9CnNob3d0ZXh0X2F1dG8oKQoKZ2dwbG90KEdPVF9wZXRzLCBhZXMoZmN0X2luZnJlcShhbmltYWxzX25hbWUpLCBmaWxsID0gc3BlY2llcykpICsgCiAgZ2VvbV9iYXIoKSArIAogIHNjYWxlX2ZpbGxfZ290X2Qob3B0aW9uID0gIlRhcmdhcnllbiIsIGRpcmVjdGlvbiA9IC0gMSkgKwogIGxhYnModGl0bGUgPSAiQSBHb2F0IE5hbWVkIEFyeWEiLCBzdWJ0aXRsZSA9ICJHYW1lIG9mIFRocm9uZXMgSW5zcGlyZWQgKE1heWJlKSBQZXQgTmFtZXMgaW4gU2VhdHRsZSIsIHggPSBlbGVtZW50X2JsYW5rKCksIHkgPSBlbGVtZW50X2JsYW5rKCksIGNhcHRpb24gPSAiQE1hcmFBbGV4ZWV2IikgKwogIHRoZW1lX21pbmltYWwoKSArCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gYygwLjksIDAuNikpICsKICBsYWJzKGZpbGwgPSAiUGV0IFNwZWNpZXMiKSArCiAgdGhlbWUodGV4dD1lbGVtZW50X3RleHQoc2l6ZT0xNiwgIGZhbWlseT0iQ2luemVsIikpCiAgCmBgYAoKCgpgYGB7cn0KcGV0cyRsaWNlbnNlX2lzc3VlX2RhdGUgPC0gYXMuRGF0ZShwZXRzJGxpY2Vuc2VfaXNzdWVfZGF0ZSwgIiVCICVkICVZIikKCgpgYGAKYGBge3J9CmxpbWl0ZWQgPC0gcGV0cyAlPiUgZmlsdGVyKGxpY2Vuc2VfaXNzdWVfZGF0ZSA+IDIwMTgtMDEtMDEpCiAgCmBgYAoKCmBgYHtyfQpnZ3Bsb3QobGltaXRlZCwgYWVzKGxpY2Vuc2VfaXNzdWVfZGF0ZSkpICsgZ2VvbV9iYXIoKSArIHNjYWxlX3hfZGF0ZSgpCmBgYAoK