- Eurostat, World Bank and others: https://ikashnitsky.github.io/2017/data-acquisition-two/
- Star Wars data: in dplyr, http://dplyr.tidyverse.org/reference/starwars.html
- Baby names data: babynames package, https://cran.r-project.org/web/packages/babynames/index.html
- Movies data: https://cran.r-project.org/web/packages/ggplot2movies/index.html ggplot2movies package
- Game of Thrones screen time: https://github.com/Preetish/GoT_screen_time
- Open Bike Data: https://github.com/ropensci/bikedata
- Tons of data through 538: https://cran.r-project.org/web/packages/fivethirtyeight/vignettes/fivethirtyeight.html
- Public health data England: fingertipsR, https://cran.r-project.org/web/packages/fingertipsR/
- Financial data via Quandl: https://www.quandl.com/tools/r
- Cyclones: https://github.com/ropensci/rrricanesdat
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Start with the code and data here: https://github.com/fivethirtyeight/data/blob/master/police-deaths/plot.R | |
## Then: | |
## Calculate total deaths by year | |
dat <- data_for_plot %>% | |
group_by(year) %>% | |
mutate(total = sum(count)) | |
## Colors I chose | |
mycolors <- c("#00bf7b", "#59004d", "#ffcb89", "#a76e61", "#ac270d", "#7890ff", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(shiny) | |
# WARNING: This sketch does not make proper use of the "state" parameter. | |
# Doing so usually involves using cookies, which can be done with the | |
# Rook package but I have not done that here. If you choose to use this | |
# approach in production, please check the state parameter properly! | |
APP_URL <- if (interactive()) { | |
# This might be useful for local development. If not, just hardcode APP_URL | |
# to the deployed URL that you'll provide a few lines below. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(shiny) | |
library(shinyjs) | |
if (!dir.exists('www/')) { | |
dir.create('www') | |
} | |
download.file( | |
url = 'https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js', | |
destfile = 'www/js.cookie.js' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import requests | |
import json | |
import re | |
from more_itertools import unique_everseen | |
with open("urls.json", "r", encoding="utf-8") as fp: | |
urls = json.load(fp) | |
# lots of regex to extract video ID from different types of YouTube links | |
def get_id(url): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(shiny) | |
columnFilterUI <- function(id) { | |
ns <- NS(id) | |
uiOutput(ns("filter_container")) | |
} | |
columnFilter <- function(input, output, session, df, col_num, choice_filter) { | |
# This renders a selectInput and only re-renders when the selected data | |
# frame changes. (i.e. it doesn't re-render when filters change state.) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(shiny) | |
#' Safe subset | |
#' | |
#' @param df Dataframe | |
#' @param column One name of column to subset within | |
#' @param subset Vector of entries in column to subset to | |
#' | |
#' If column not in df, returns back the df | |
safeSubset <- function(df, column, subset){ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
max_plots <- 5 | |
ui <- fluidPage( | |
headerPanel("Dynamic number of plots"), | |
sidebarPanel( | |
sliderInput("n", "Number of plots", value=1, min=1, max=5) | |
), |
NewerOlder