Load your dataset in with the function below. The input is the date the dataset was issued. You should be able to get this from the tt_available()
function.
critic <- readr::read_tsv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-05-05/critic.tsv')
## Parsed with column specification:
## cols(
## grade = col_double(),
## publication = col_character(),
## text = col_character(),
## date = col_date(format = "")
## )
user_reviews <- readr::read_tsv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-05-05/user_reviews.tsv')
## Parsed with column specification:
## cols(
## grade = col_double(),
## user_name = col_character(),
## text = col_character(),
## date = col_date(format = "")
## )
items <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-05-05/items.csv')
## Parsed with column specification:
## cols(
## num_id = col_double(),
## id = col_character(),
## name = col_character(),
## category = col_character(),
## orderable = col_logical(),
## sell_value = col_double(),
## sell_currency = col_character(),
## buy_value = col_double(),
## buy_currency = col_character(),
## sources = col_character(),
## customizable = col_logical(),
## recipe = col_double(),
## recipe_id = col_character(),
## games_id = col_character(),
## id_full = col_character(),
## image_url = col_character()
## )
## Warning: 2 parsing failures.
## row col expected actual file
## 4472 customizable 1/0/T/F/TRUE/FALSE Yes 'https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-05-05/items.csv'
## 4473 customizable 1/0/T/F/TRUE/FALSE Yes 'https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-05-05/items.csv'
villagers <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-05-05/villagers.csv')
## Parsed with column specification:
## cols(
## row_n = col_double(),
## id = col_character(),
## name = col_character(),
## gender = col_character(),
## species = col_character(),
## birthday = col_character(),
## personality = col_character(),
## song = col_character(),
## phrase = col_character(),
## full_id = col_character(),
## url = col_character()
## )
skimr::skim(villagers)
## Skim summary statistics
## n obs: 391
## n variables: 11
##
## ── Variable type:character ───────────────────────────────────────────────────────
## variable missing complete n min max empty n_unique
## birthday 0 391 391 3 5 0 361
## full_id 0 391 391 11 17 0 391
## gender 0 391 391 4 6 0 2
## id 0 391 391 2 8 0 391
## name 0 391 391 2 8 0 391
## personality 0 391 391 4 6 0 8
## phrase 0 391 391 2 10 0 388
## song 11 380 391 7 16 0 92
## species 0 391 391 3 9 0 35
## url 0 391 391 60 66 0 391
##
## ── Variable type:numeric ─────────────────────────────────────────────────────────
## variable missing complete n mean sd p0 p25 p50 p75 p100
## row_n 0 391 391 239.9 140.7 2 117.5 240 363.5 483
## hist
## ▇▇▇▇▇▇▇▇
species_count <- villagers %>%
group_by(species) %>%
summarize(species_count = n()) %>%
arrange(species_count)
datatable(species_count)
level_order <- villagers %>%
group_by(species) %>% count() %>%
arrange(desc(n)) %>%
pull(species)
villagers %>%
mutate(species=factor(species, levels=level_order)) %>%
ggplot() + aes(x=species, y=personality, color=personality) %>%
geom_count() +
theme_light() + theme(legend.position = "none") +
theme(axis.text.x = element_text(angle = 90))
villagers %>% select(name, species, personality, url) %>%
mutate(combo = paste(species, personality)) %>% select(name, combo, url) -> villager_index
unique_combos <- villagers %>%
group_by(species, personality) %>% summarize(n=n()) %>%
filter(n == 1) %>% mutate(combo=paste(species, personality)) %>%
inner_join(y=villager_index, by=c("combo")) %>% ungroup()
out_image <- unique_combos %>%
ggplot() + aes(x=species, y=personality, image=url, name=name) +
geom_count() +
geom_raster(fill="white", color="black") +
geom_image(asp=1.2, size=0.03) +
theme_minimal() + theme(legend.position = "none") +
theme(axis.text.x = element_text(angle = 90)) + labs(title="There can be only one", subtitle = "Unique Personality/Species combos in Animal Crossing")
## Warning: Ignoring unknown parameters: colour
out_image