- 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 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) | |
), |
This file contains 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 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 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 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 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 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", |
Let's say you have streaming data, and you would like to update a DT::datatable
in Shiny without completely re-rendering the table. Here is some code to illustrate how this might be accomplished. Hope it helps.
library(DT)
library(shiny)
ui <- tagList(
tags$script(HTML(
"
Shiny.addCustomMessageHandler(
This file contains 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(gganimate) # thomasp85/gganimate | |
library(cartogram) | |
library(geogrid) # Need github version jbaileyh/geogrid | |
library(rnaturalearth) | |
library(sf) | |
library(scico) | |
us <- ne_states('united states of america', returnclass = 'sf') | |
us <- us[!us$woe_name %in% c('Alaska', 'Hawaii'), ] | |
us <- st_transform(us, '+proj=eqdc +lat_0=39 +lon_0=-96 +lat_1=33 +lat_2=45 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs') |
OlderNewer