Skip to content

Instantly share code, notes, and snippets.

@AlbertRapp
AlbertRapp / interactive_gt.R
Created April 2, 2023 15:20
interactive_gt.R
library(gt)
gt::towny |> # new data set in {gt} 0.9.0
dplyr::select(name, land_area_km2) |>
gt() |>
cols_label(name = 'Name', land_area_km2 = 'Area (sq.km)') |>
opt_interactive(
use_search = TRUE, use_filters = TRUE,
use_compact_mode = TRUE, page_size_default = 5
) |>
tab_options(table.width = '500px', container.width = '500px')
@AlbertRapp
AlbertRapp / lollipop.R
Created December 31, 2022 19:22
Lollipop chart comparison with bar chart
library(tidyverse)
manufacturers <- mpg |>
count(manufacturer, sort = TRUE) |>
mutate(
manufacturer = str_to_title(manufacturer),
manufacturer = fct_reorder(manufacturer, n)
)
@AlbertRapp
AlbertRapp / connected_ggiraph.R
Created January 25, 2023 19:39
connected_ggiraph.R
library(dplyr)
library(ggplot2)
library(patchwork)
library(ggiraph)
dat <- gapminder::gapminder |>
janitor::clean_names() |>
mutate(
# ID that is shared for boxplots (this one uses factors, i.e. numbers, as ID instead of continents)
@AlbertRapp
AlbertRapp / fruit_seasonality_New_Zealand.qmd
Created August 7, 2023 20:58
fruit_seasonality_New_Zealand.qmd
```{r}
library(tidyverse)
# https://www.produce.co.nz/seasonality-chart/
fruits <- tibble::tribble(
~ fruit, ~start, ~ end,
"Blueberry", "October", "April",
@AlbertRapp
AlbertRapp / split_stacked_bar_charts_YT.R
Created May 6, 2023 09:18
split_stacked_bar_charts_YT.qmd
library(tidyverse)
mpg_2008 <- mpg |>
filter(
year == 2008,
!(class %in% c('2seater', 'minivan'))
) |>
mutate(
class = case_when(
class %in% c('compact', 'subcompact') ~ '(Sub-)Compact',
@AlbertRapp
AlbertRapp / perfect_bar_chart.qmd
Created April 7, 2023 10:14
Perfect bar charts
```{r}
library(tidyverse)
manufacturers <- mpg |>
mutate(manufacturer = str_to_title(manufacturer))
```
```{r}
@AlbertRapp
AlbertRapp / label_cleaning.R
Created February 18, 2023 14:18
3 ways to relabel data
library(tidyverse)
big_tech_companies <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-02-07/big_tech_companies.csv')
big_tech_companies
# # A tibble: 14 × 2
# stock_symbol company
# <chr> <chr>
# 1 AAPL Apple Inc.
# 2 ADBE Adobe Inc.
# 3 AMZN Amazon.com, Inc.
# 4 CRM Salesforce, Inc.
@AlbertRapp
AlbertRapp / nycflights_calender.qmd
Created July 9, 2022 11:15
NYC flights calendar plot
library(tidyverse)
color_palette <- thematic::okabe_ito(8)
flights <- nycflights13::flights
counts <- flights %>%
mutate(
date = lubridate::make_date(year = year, month = month, day = day)
) %>%
count(date) %>%
mutate(
@AlbertRapp
AlbertRapp / stacked_bar_plot_alternative.qmd
Last active June 27, 2023 13:01
How to split bars instead of stacking them
---
output: html_document
editor_options:
chunk_output_type: console
---
```{r}
setwd(here::here('stacked_bar_alternative/'))
camcorder::gg_record(
dir = 'img',
@AlbertRapp
AlbertRapp / maps_instead_of_for_loops.R
Created April 21, 2023 08:52
maps_instead_of_for_loops.R
library(tidyverse)
dat <- gapminder::gapminder
####### For loop approach
slopes <- numeric(5)
names(slopes) <- unique(dat$continent)
for (selected_continent in unique(dat$continent)) {
filtered_data <- dat |>