Showing preview only (991K chars total). Download the full file or copy to clipboard to get everything.
Repository: equitable-equations/youtube
Branch: main
Commit: 3f38b65eb011
Files: 221
Total size: 925.6 KB
Directory structure:
gitextract_c_u5i91x/
├── .gitignore
├── ANOVA in R/
│ ├── README.md
│ └── Script - anova in R.R
├── ANOVA in R - a complete example/
│ ├── README.md
│ └── Script - ANOVA in R - a complete example.R
├── Add great alt text /
│ ├── README.md
│ └── alt text.qmd
├── All about facets/
│ ├── README.md
│ └── script - facets.R
├── All about system prompts/
│ ├── README.md
│ └── script - system prompts.R
├── Avoiding data dredging/
│ ├── README.md
│ └── Script - data dredging.R
├── Beautiful bar charts in R/
│ ├── README.md
│ └── Script - beautiful bar charts in R.R
├── Beautiful presentations/
│ ├── README.md
│ ├── dt_example.xlsx
│ └── quarto presentations.qmd
├── Beautiful tables with gt/
│ ├── README.md
│ └── gt tables.qmd
├── Better box plots with ggplot/
│ ├── README.md
│ └── Script - better box plots with ggplot.R
├── Bibliographies with R and Quarto/
│ ├── Quarto bibliographies.qmd
│ ├── README.md
│ ├── elsevier-with-titles.csl
│ └── my-bib.bib
├── Binning variables in R/
│ ├── README.md
│ ├── script - binning variables.R
│ └── titanic.xlsx
├── Bivariate continuous probability distributions/
│ └── README.md
├── Combining columns in R with unite()/
│ ├── README.md
│ └── unite.R
├── Combining data sets with left_join/
│ ├── README.md
│ └── left_join.R
├── Combining observations with bind_rows()/
│ ├── README.md
│ └── bind_rows.R
├── Computing normal probabilities examples/
│ └── README.md
├── Conditional probability distributions/
│ └── README.md
├── Contingency tables in R/
│ ├── README.md
│ └── Script - contingency tables.R
├── Controlling the family-wise error rate/
│ ├── README.md
│ └── Script - controlling the fwer.R
├── Creating columns with mutate/
│ ├── README.md
│ └── script - mutate.R
├── Cross references in R and Quarto/
│ ├── README.md
│ └── cross references.qmd
├── Data analysis - Billboard Hot 100/
│ ├── README.md
│ └── Script - billboard_top_100.R
├── Data analysis - US colleges/
│ ├── README.md
│ └── Script - analyzing college data.R
├── Data analysis - age gaps and bechdel tests/
│ ├── README.md
│ └── script - age gaps.R
├── Data analysis - floristic quality/
│ ├── README.md
│ ├── Script - floristic quality data.R
│ └── student floristic quality data/
│ ├── lfc_fqa_team1.xlsx
│ ├── lfc_fqa_team2.xlsx
│ └── lfc_fqa_team3.xlsx
├── Data analysis - scooby doo/
│ ├── README.md
│ └── script - analyzing scooby doo.R
├── Data visualization in 36 minutes/
│ ├── README.md
│ └── Script - dataviz.R
├── Data wrangling with R/
│ ├── README.md
│ └── script - data wrangling.R
├── Deviance in logistic regression/
│ ├── README.md
│ └── script - deviance in log models.R
├── Discrete bivariate distributions/
│ └── README.md
├── Du Bois challenge plate 25/
│ ├── README.md
│ ├── camcorder_code.R
│ ├── du bois script.R
│ └── du bois_math.ggb
├── Essential R tools for regression modeling/
│ ├── README.md
│ └── broom.R
├── Gamma distribution/
│ └── README.md
├── Gamma distribution in R/
│ ├── README.md
│ └── Script - the gamma distribution in R.R
├── Getting started with R/
│ ├── README.md
│ └── amy.csv
├── Getting started with simple linear regression/
│ └── README.md
├── Git branches and merges/
│ ├── README.md
│ ├── pivot longer.R
│ └── pivot wider.R
├── Git setup/
│ ├── README.md
│ └── git for R users.R
├── Goodness of fit testing example/
│ ├── README.md
│ └── Script - goodness of fit example.R
├── Graphing functions/
│ ├── README.md
│ └── script - graphing functions.R
├── How to add annotations/
│ ├── README.md
│ └── Script - annotate.R
├── How to add color to R ggplots/
│ ├── README.md
│ └── script - how to add color to R ggplots.R
├── How to create an other category/
│ ├── README.md
│ ├── lumping variables.R
│ └── quitting.csv
├── How to make a pride flag/
│ ├── README.md
│ └── script - pride flag.R
├── How to purrr/
│ ├── README.md
│ └── script - purrr.R
├── How to put a project onto GitHub/
│ ├── README.md
│ └── github setup.R
├── How to show a ggplot to AI/
│ ├── README.md
│ └── script - ggplot with AI.R
├── Hypothesis testing in R/
│ ├── README.md
│ └── Script - hypothesis testing in R.R
├── If-else statements in R/
│ ├── README.md
│ ├── Script - ifelse.R
│ └── plant_updates.csv
├── Imputing missing bikeshare data/
│ ├── README.md
│ └── bikeshare missing data.R
├── Integrate AI with GitHub Copilot/
│ ├── README.md
│ ├── scooby.xlsx
│ └── script - integrating AI.R
├── Latex for R users/
│ ├── LaTeX for R users.qmd
│ └── README.md
├── Learn R in 39 minutes/
│ ├── README.md
│ ├── Scooby.xlsx
│ └── script - R in 39.R
├── Linear modeling using categorical variables/
│ ├── README.md
│ └── Script - parallel slopes models.R
├── Locating files with here()/
│ ├── README.md
│ ├── Scooby.xlsx
│ └── Script - here.R
├── Log-normal/
│ └── README.md
├── Log-normal in R/
│ ├── README.md
│ └── script - lognormal in R.R
├── Logistic regression example/
│ ├── README.md
│ └── logistic regression in R example.R
├── Logistic regression in R/
│ ├── README.md
│ ├── admissions.csv
│ └── script - logistic regression in R.R
├── Maximum likelihood example/
│ └── README.md
├── Multiple linear regression in R/
│ ├── README.md
│ └── Script - multiple regression in R.R
├── Multiple linear regression with interaction in R/
│ ├── README.md
│ └── Script - multiple linear regression with interaction.R
├── Multiple regression in R - example/
│ ├── README.md
│ ├── Script - multiple regression in R - example.R
│ └── parenthood.Rdata
├── Mutating data frames with case_when/
│ ├── README.md
│ ├── Script - case_when.R
│ └── gradebook.csv
├── Nested data frames and multiple models/
│ ├── README.md
│ └── Script - multiple models.R
├── Normal distribution in R/
│ ├── README.md
│ └── Script - normal distribution in R.R
├── Not-so-simple linear regression/
│ ├── README.md
│ └── simple linear regression.R
├── Organizing bar charts by frequency/
│ ├── README.md
│ └── Script - organizing bar charts by frequency.R
├── Overfitting in machine learning/
│ ├── README.md
│ └── overfitting demonstration.R
├── Percentiles in R/
│ ├── README.md
│ └── script - percentiles.R
├── Percentiles of continuous distributions/
│ └── README.md
├── Pie charts with R/
│ ├── README.md
│ └── pie charts.R
├── Poisson regression/
│ ├── README.md
│ └── websites.xlsx
├── Poisson regression in R/
│ ├── README.md
│ └── script - poisson in R.R
├── Prediction intervals for linear models/
│ ├── README.md
│ └── Script - prediction intervals.R
├── R Markdown/
│ ├── R Markdown practice.Rmd
│ ├── R-Markdown-practice.html
│ └── README.md
├── README.md
├── Regression analysis - backward selection/
│ ├── README.md
│ ├── Slides - bss.R
│ └── performance.csv
├── Repositioning ggplot legends/
│ ├── README.md
│ └── Script - repositioning ggplot legends.R
├── Return of the starwars data set/
│ ├── README.md
│ └── script - starwars.R
├── Scatterplots and regression lines in R/
│ ├── README.md
│ └── Script - scatterplots and regression lines.R
├── Sensitivity, specificity, precision, recall/
│ └── README.md
├── Simple linear regression with R (intro)/
│ └── README.md
├── Simpson's paradox/
│ ├── README.md
│ ├── batting.csv
│ └── script - simpsons paradox.R
├── Splitting columns in R with separate()/
│ ├── README.md
│ └── script - splitting columns with separate.R
├── Splitting data frames with slice()/
│ ├── README.md
│ └── Script - splitting data sets.R
├── Statistical power and sample size/
│ └── README.md
├── Teaching an AI to webscrape/
│ ├── README.md
│ └── ellmer tools.R
├── The poisson distribution/
│ └── README.md
├── Tidy data/
│ └── README.md
├── Tidy tuesday analysis - Ravelry yarn/
│ ├── README.md
│ └── yarn script.R
├── Tidying data with pivot_longer/
│ ├── 03 - Body Temperatures.xlsx
│ ├── README.md
│ └── Script - pivot_longer.R
├── Tidying data with pivot_wider/
│ ├── FQA.csv
│ ├── README.md
│ └── Script - pivot_wider.R
├── Type I and type II errors/
│ └── README.md
├── Understand ANOVA in 8 minutes/
│ └── README.md
├── Understanding R functions/
│ ├── README.md
│ └── script - undedrstanding R functions.R
├── Understanding geom_smooth/
│ ├── README.md
│ └── script - geom_smooth.R
├── Understanding the chi-squared distribution/
│ └── README.md
├── Uniform distribution/
│ └── README.md
├── Using Quarto with R and Python/
│ ├── Quarto demo.qmd
│ └── README.md
├── What are order statistics?/
│ └── README.md
├── What is Anscombe's quartet?/
│ ├── README.md
│ └── Script - Anscombe.R
├── What is quarto?/
│ ├── README.md
│ ├── erykah.xlsx
│ └── what is quarto.qmd
├── What is the central limit theorem?/
│ └── README.md
├── Working with lists in R/
│ ├── README.md
│ └── Script - lists in R.R
├── Write your own R functions/
│ ├── README.md
│ └── Script - functions.R
├── Writing prompts using interpolate()/
│ ├── README.md
│ └── interpolate.R
└── youtube.Rproj
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.Rproj.user
.Rhistory
.RData
.Ruserdata
.DS_Store
================================================
FILE: ANOVA in R/README.md
================================================
# ANOVA in R
[<img src="anovaR thumb.png" align="right" height="100" />](<https://youtu.be/GokvYQiGdm0>)
Hi everybody! In this folder, you'll find materials supporting my vid, **ANOVA in R**, which you can find at <https://youtu.be/GokvYQiGdm0>.
================================================
FILE: ANOVA in R/Script - anova in R.R
================================================
# Analysis of variance
# Is weight independent from feed?
library(tidyverse)
View(chickwts)
?chickwts
ggplot(chickwts, aes(x = feed,
y = weight)) +
geom_boxplot(outlier.shape = NA) +
geom_jitter() +
theme_minimal()
model <- aov(chickwts$weight ~ chickwts$feed)
summary(model)
?TukeyHSD
TukeyHSD(model)
================================================
FILE: ANOVA in R - a complete example/README.md
================================================
# ANOVA in R: a complete example
[<img src="anova thumb new.png" align="right" height="100" />](<https://youtu.be/L81JI_x1VMg>)
Hi everybody! In this folder, you'll find materials supporting my vid, **ANOVA in R: a complete example**, which you can find at <https://youtu.be/L81JI_x1VMg>.
================================================
FILE: ANOVA in R - a complete example/Script - ANOVA in R - a complete example.R
================================================
library(tidyverse)
library(palmerpenguins)
# Does species help explain flipper length?
glimpse(penguins)
ggplot(penguins, aes(x = species,
y = flipper_length_mm)) +
geom_boxplot()
ggplot(penguins, aes(x = flipper_length_mm)) +
geom_histogram() +
facet_wrap(~species, ncol = 1)
penguins %>%
group_by(species) %>%
summarize(var(flipper_length_mm, na.rm = TRUE))
model <- aov(flipper_length_mm ~ species,
data = penguins)
summary(model)
TukeyHSD(model)
================================================
FILE: Add great alt text /README.md
================================================
# Add great alt text to your data visualizations
[<img src="alt thumb.png" align="right" height="100" />](<https://youtu.be/4rVOweTnv0E>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Add great alt text to your data visualizations**, which you can find at <https://youtu.be/4rVOweTnv0E>.
================================================
FILE: Add great alt text /alt text.qmd
================================================
---
title: "Writing good alt text: example"
author: Andrew Gard
format: html
---
```{r}
#| label: setup
#| message: false
library(tidyverse)
library(modeldata)
```
```{r}
#| fig-alt: A histogram showing the number of years survey respondents have been coding on the job. The peak is around 2 years with a large isolated spike at 20 years, the maximum value in the set.
ggplot(stackoverflow, aes(x = YearsCodedJob)) +
geom_histogram(binwidth = 1,
color = "black") +
labs(x = "Years coding on the job",
y = "Frequency") +
theme_minimal()
```
```{r}
#| warning: false
#| fig-alt: A scatterplot showing the relationship between bill lengths and depths in antarctic penguins, colored by the three differen species. In each group, there is an upward trend, with Adelies tending to have the shortest bills.
ggplot(penguins, aes(x = bill_depth_mm,
y = bill_length_mm,
color = species)) +
geom_point() +
labs(x = "Bill depth (mm)",
y = "Bill depth (mm)",
color = "Species") +
scale_color_brewer(palette = "Dark2") +
theme_minimal()
```
================================================
FILE: All about facets/README.md
================================================
# All about facets
[<img src="facets thumb.png" align="right" height="100" />](<https://youtu.be/n6P7eLG80D8>)
Hi everybody! In this folder, you'll find materials supporting my vid, **All about facets**, which you can find at <https://youtu.be/n6P7eLG80D8>.
================================================
FILE: All about facets/script - facets.R
================================================
# All about facets
library(tidyverse)
library(modeldata)
theme_set(theme_minimal())
# create data set
set.seed(0)
n <- 200
rho <- .2
m <- 2
x <- runif(n, 0, 10)
y <- m *x + 5 + rnorm(n, 0, .71 * sd(x) / rho)
df1 <- data.frame(x, y)
rho <- .5
x <- runif(n, 0, 10)
y <- m *x + 5 + rnorm(n, 0, 1 * sd(x) / rho)
df2 <- data.frame(x, y)
rho <- .8
x <- runif(n, 0, 10)
y <- m *x + 5 + rnorm(n, 0, .79 * sd(x) / rho)
df3 <- data.frame(x, y)
df <- bind_rows(df1,
df2,
df3,
.id = "set")
# faceting scat
p <- ggplot(scat, aes(x = d13C,
y = d15N)) +
geom_point() # starter plot
p + facet_wrap(~Species,
nrow = 3)
p + facet_wrap(vars(Species))
p + facet_grid(Location~Species)
my_labeller <- as_labeller(c("bobcat" = "Bobcat",
"coyote" = "Coyote",
"gray_fox" = "Gray Fox"))
p + facet_wrap(~Species,
labeller = my_labeller)
# R^2 demonstration
glimpse(df)
ggplot(df, aes(x, y)) +
geom_point(alpha = .6) +
geom_smooth(method = "lm",
se = FALSE) +
facet_wrap(~set)
df2 <- df %>%
mutate(set = fct_recode(set,
"R^2==0.2" = "1",
"R^2==0.5" = "2",
"R^2==0.8" = "3"))
ggplot(df2, aes(x, y)) +
geom_point(alpha = .6) +
geom_smooth(method = "lm",
se = FALSE) +
facet_wrap(~set,
labeller = "label_parsed")
ggplot(df2, aes(x, y)) +
geom_point(alpha = .6) +
geom_smooth(method = "lm",
se = FALSE,
linewidth = 1.8,
color = "#5798A6") +
facet_wrap(~set,
labeller = "label_parsed") +
theme_minimal() +
labs(x = NULL,
y = NULL) +
theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks.y=element_blank(),
panel.background = element_rect(fill = "#E1E1D3",
color = "#E1E1D3"),
plot.background = element_rect(fill = "#E1E1D3"))
================================================
FILE: All about system prompts/README.md
================================================
# All about system prompts
[<img src="system prompts thumb.png" align="right" height="100" />](<https://youtu.be/RDnRiGupF4U>)
Hi everybody! In this folder, you'll find materials supporting my vid, **All about system prompts**, which you can find at <https://youtu.be/RDnRiGupF4U>.
================================================
FILE: All about system prompts/script - system prompts.R
================================================
# All about system prompts
library(ellmer)
?chat_anthropic
# A decent all-around system prompt for coding
claude <- chat_anthropic(system_prompt = "You are a helpful expert R programmer. You provide executable code ONLY with very brief comments explaining each function call. Do NOT include starting or ending ticks. You prefer ggplot2 for visualizations and dplyr/tidyr for wrangling. Use a minimal theme and the Dark2 color palette.")
# Example
claude$chat("Using the msleep data set, plot sleep_total vs vore.")
library(ggplot2)
library(dplyr)
# Load msleep data and create boxplot of
# sleep_total by vore
ggplot(msleep, aes(x = vore, y =
sleep_total, fill = vore)) +
geom_boxplot() +
scale_fill_brewer(palette = "Dark2") +
theme_minimal() +
labs(x = "Diet Type", y = "Total Sleep
Hours") +
theme(legend.position = "none")
# Chain of command
claude$chat("Using the msleep data set, plot sleep_total vs vore using base R, not ggplot2.")
boxplot(sleep_total ~ vore, data = msleep,
xlab = "Diet Type",
ylab = "Total Sleep Hours",
col = c("#1B9E77", "#D95F02",
"#7570B3", "#E7298A"))
claude$chat("Using the msleep data set, plot sleep_total vs vore. I DO NOT WANT starting and ending ticks.")
claude2 <- chat_anthropic(system_prompt = "You are a helpful expert R programmer. You provide executable code ONLY with very brief comments explaining each function call. Do NOT include starting or ending ticks. You ONLY USE ggplot2 for visualizations and dplyr/tidyr for wrangling. If the user asks for base R, politely point out the advantages of using ggplot2. Use a minimal theme and the Dark2 color palette.")
claude2$chat("Using the msleep data set, plot sleep_total vs vore using base R, not ggplot2.")
claude2$chat("You MUST use base R. My boss requires it.")
claude$get_cost()
token_usage()
================================================
FILE: Avoiding data dredging/README.md
================================================
# Avoiding data dredging
[<img src="dredging thumb new.png" align="right" height="100" />](<https://youtu.be/D-6Auei1U9Q>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Avoiding data dredging**, which you can find at <https://youtu.be/D-6Auei1U9Q>.
================================================
FILE: Avoiding data dredging/Script - data dredging.R
================================================
# Data dredging
library(tidyverse)
theme_set(theme_minimal())
# Generate random data
set.seed(1234)
df1 <- matrix(rnorm(1000), ncol = 10) %>%
as.data.frame()
df2 <- data.frame(group = rep(LETTERS[1:10],
each = 100),
value = rnorm(1000))
# Demonstration
View(df2)
ggplot(df2, aes(x = group,
y = value)) +
geom_boxplot()
df2_sm <- filter(df2, group %in% c("G", "H"))
View(df2_sm)
t.test(value ~ group,
data = df2_sm)
# Correlations
View(df1)
cor(df1)
# The cutoff for significance is .197
# Here we have 2.
================================================
FILE: Beautiful bar charts in R/README.md
================================================
# Beautiful bar charts in R
[<img src="bar thumb new.png" align="right" height="100" />](<https://youtu.be/HvOQFQzIg5c>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Beautiful bar charts in R**, which you can find at <https://youtu.be/HvOQFQzIg5c>.
================================================
FILE: Beautiful bar charts in R/Script - beautiful bar charts in R.R
================================================
library(tidyverse)
library(tidytuesdayR)
library(ISLR2)
tuesdata <- tidytuesdayR::tt_load(2021, week = 41)
nurses <- tuesdata$nurses
theme_set(theme_minimal())
?geom_bar
glimpse(Carseats)
?Carseats
# Basic bar chart:
ggplot(Carseats, aes(x = ShelveLoc,
fill = ShelveLoc)) +
geom_bar(width = .60,
show.legend = FALSE) +
scale_fill_brewer(palette = "Dark2") # added for accessibility
# Adding a second categorical variable in several different ways:
ggplot(Carseats, aes(x = US,
fill = ShelveLoc)) +
geom_bar() +
scale_fill_brewer(palette = "Dark2")
ggplot(Carseats, aes(x = US,
fill = ShelveLoc)) +
geom_bar(position = "fill") +
scale_fill_brewer(palette = "Dark2")
ggplot(Carseats, aes(x = US,
fill = ShelveLoc)) +
geom_bar(position = "dodge") +
scale_fill_brewer(palette = "Dark2")
# Reversing the aesthetics:
ggplot(Carseats, aes(fill = US,
x = ShelveLoc)) +
geom_bar(position = "dodge") +
scale_fill_brewer(palette = "Dark2")
# geom_col() for sets with counts:
View(nurses)
nurses_2020 <- nurses %>%
filter(Year == 2020)
View(nurses_2020)
ggplot(nurses_2020, aes(y = State,
x = `Total Employed RN`)) +
geom_col()
nurses_2020 <- nurses %>%
filter(Year == 2020) %>%
slice_max(order_by = `Total Employed RN`,
n = 20)
ggplot(nurses_2020, aes(y = fct_reorder(State, `Total Employed RN`),
x = `Total Employed RN`)) +
geom_col() +
labs(y = "State")
================================================
FILE: Beautiful presentations/README.md
================================================
# Beautiful presentations with R and Quarto
[<img src="presentations new thumb.png" align="right" height="100" />](<https://youtu.be/01KifhHDkFk>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Beautiful presentations with R and Quarto**, which you can find at <https://youtu.be/01KifhHDkFk>.
================================================
FILE: Beautiful presentations/quarto presentations.qmd
================================================
---
title: "Decision trees"
author: Andrew Gard
date: 25 feb 2025
format:
revealjs:
footer: "Equitable equations: decision trees"
transition: slide
title-slide-attributes:
data-background-image: background.jpg
---
```{r}
#| label: setup
library(tidyverse)
library(gt)
library(readxl)
theme_set(theme_minimal())
dt_example <- read_excel("dt_example.xlsx")
```
## {background-image=background.jpg}
In this vid, we’ll manually construct a decision tree classifier using the following data set.
:::: {.columns}
::: {.column width="30%"}
```{r}
dt_example %>%
gt()
```
:::
::: {.column width="70%"}
```{r}
#| fig-height: 6
ggplot(dt_example, aes(x, y, color = color)) +
geom_point(size = 7,
show.legend = FALSE) +
labs(x = NULL,
y = NULL) +
theme(axis.text = element_text(size = 15,
face = "bold")) +
scale_color_manual(values = c("blue", "red"))
```
:::
::::
## {background-image=background.jpg}
::: {.callout-tip title="Decision trees"}
A **decision tree classifier** applies a divide-and-conquer algorithm to the training set, recursively splitting it into pieces that are as homogeneous as possible.
:::
. . .
{fig-align=center width="75%"}
## {background-image=background.jpg}
Here's how I made that plot:
```{r}
#| echo: true
#| fig-align: center
#| code-line-numbers: "|2-3|4-5|5-8"
ggplot(dt_example, aes(x, y, color = color)) +
geom_point(size = 7,
show.legend = FALSE) +
labs(x = NULL,
y = NULL) +
theme(axis.text = element_text(size = 15,
face = "bold")) +
scale_color_manual(values = c("blue", "red"))
```
================================================
FILE: Beautiful tables with gt/README.md
================================================
# Beautiful tables with R with the gt package
[<img src="gt thumb.png" align="right" height="100" />](<https://youtu.be/jptX745mp7M>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Beautiful tables with R with the gt package**, which you can find at <https://youtu.be/jptX745mp7M>.
================================================
FILE: Beautiful tables with gt/gt tables.qmd
================================================
---
title: "Beautiful tables with gt()"
author: Andrew Gard
format: html
---
```{r}
#| label: setup
#| include: false
library(gt)
library(tidyverse)
library(modeldata)
# Data preprocessing
scat_table1 <- scat %>%
select(Species,
Site,
Length,
Diameter,
Mass,
d13C,
d15N) %>%
group_by(Species) %>%
summarize(across(where(is.numeric),
\(x) round(mean(x, na.rm = TRUE), 1)),
count = n())
scat_table2 <- scat %>%
select(Species,
Location,
Site,
Length,
Diameter,
Mass,
d13C,
d15N) %>%
group_by(Species, Site) %>%
summarize(across(where(is.numeric),
\(x) round(mean(x, na.rm = TRUE), 1)),
Count = n())
```
## A great table
```{r}
scat_table1 %>%
gt(rowname_col = "Species") %>%
cols_label(count ~ "Count") %>%
tab_header(title = "California poopies",
subtitle = "Morphometric data on scat") %>%
tab_source_note(md("**Source**: Reid, R. E. B. (2015). A morphometric modeling approach to distinguishing among bobcat, coyote and gray fox scats. *Wildlife Biology*, 21(5), 254-262")) %>%
tab_spanner(label = "Physical averages",
columns = Length:Mass) %>%
tab_stubhead(label = "Species")
```
## A stylized version
```{r}
scat_table1 %>%
gt() %>%
cols_label(count ~ "Count") %>%
tab_header(title = "California poopies",
subtitle = "Morphometric data on scat") %>%
tab_source_note(md("**Source**: Reid, R. E. B. (2015). A morphometric modeling approach to distinguishing among bobcat, coyote and gray fox scats. *Wildlife Biology*, 21(5), 254-262")) %>%
tab_spanner(label = "Physical averages",
columns = Length:Mass) %>%
opt_stylize(style = 2, color = "blue")
```
# Grouped data
```{r}
scat_table2 %>%
ungroup() %>%
gt(groupname_col = "Species")
```
================================================
FILE: Better box plots with ggplot/README.md
================================================
# Better box plots in R with ggplot
[<img src="boxplots.jpg" align="right" height="100" />](<https://youtu.be/FDngvXOGstA>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Better box plots in R with ggplot**, which you can find at <https://youtu.be/FDngvXOGstA>.
================================================
FILE: Better box plots with ggplot/Script - better box plots with ggplot.R
================================================
library(tidyverse)
library(modeldata)
?geom_boxplot
glimpse(msleep)
ggplot(msleep, aes(x = vore,
y = sleep_total,
fill = vore)) +
geom_boxplot(show.legend = FALSE,
outlier.shape = NA) +
geom_jitter(width = .2)
data(penguins)
glimpse(penguins)
ggplot(penguins, aes(x = species,
y = bill_length_mm,
fill = species)) +
geom_violin(show.legend = FALSE) +
geom_boxplot(width = .5)
================================================
FILE: Bibliographies with R and Quarto/Quarto bibliographies.qmd
================================================
---
title: "Quarto bibliographies"
author: Andrew Gard
format: html
bibliography: my-bib.bib
nocite: |
@*
csl: elsevier-with-titles.csl
---
My reference: [@wickham2014tidy]
================================================
FILE: Bibliographies with R and Quarto/README.md
================================================
# Bibliographies with R and Quarto
[<img src="bib thumb.png" align="right" height="100" />](<https://youtu.be/w3X76e_tZr8>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Bibliographies with R and Quarto**, which you can find at <https://youtu.be/w3X76e_tZr8>.
================================================
FILE: Bibliographies with R and Quarto/elsevier-with-titles.csl
================================================
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">
<info>
<title>Elsevier (numeric, with titles)</title>
<id>http://www.zotero.org/styles/elsevier-with-titles</id>
<link href="http://www.zotero.org/styles/elsevier-with-titles" rel="self"/>
<link href="http://www.zotero.org/styles/elsevier-without-titles" rel="template"/>
<link href="http://www.elsevier.com/journals/journal-of-hazardous-materials/0304-3894/guide-for-authors#68001" rel="documentation"/>
<author>
<name>Richard Karnesky</name>
<email>karnesky+zotero@gmail.com</email>
<uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>
</author>
<contributor>
<name>Rintze Zelle</name>
<uri>http://twitter.com/rintzezelle</uri>
</contributor>
<category citation-format="numeric"/>
<category field="generic-base"/>
<summary>A style for many of Elsevier's journals that includes article titles in the reference list</summary>
<updated>2019-10-15T22:06:38+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<macro name="author">
<names variable="author">
<name initialize-with="." delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=", "/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
</substitute>
</names>
</macro>
<macro name="editor">
<names variable="editor">
<name initialize-with="." delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>
</names>
</macro>
<macro name="year-date">
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year"/>
</date>
</if>
<else>
<text term="no date" form="short"/>
</else>
</choose>
</macro>
<macro name="publisher">
<text variable="publisher" suffix=", "/>
<text variable="publisher-place" suffix=", "/>
<text macro="year-date"/>
</macro>
<macro name="edition">
<!--TODO: CSL should have low numeric be text (e.g. '3'->'third')-->
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short"/>
</group>
</if>
<else>
<text variable="edition"/>
</else>
</choose>
</macro>
<macro name="access">
<choose>
<if variable="URL">
<text variable="URL"/>
<group prefix=" (" suffix=")" delimiter=" ">
<text term="accessed"/>
<date variable="accessed" form="text"/>
</group>
</if>
</choose>
</macro>
<citation collapse="citation-number">
<sort>
<key variable="citation-number"/>
</sort>
<layout prefix="[" suffix="]" delimiter=",">
<text variable="citation-number"/>
</layout>
</citation>
<bibliography entry-spacing="0" second-field-align="flush">
<layout suffix=".">
<text variable="citation-number" prefix="[" suffix="]"/>
<text macro="author" suffix=", "/>
<choose>
<if type="bill book graphic legal_case legislation motion_picture report song" match="any">
<group delimiter=", ">
<text variable="title"/>
<text macro="edition"/>
<text macro="publisher"/>
</group>
</if>
<else-if type="chapter paper-conference" match="any">
<text variable="title" suffix=", "/>
<text term="in" suffix=": "/>
<text macro="editor" suffix=", "/>
<text variable="container-title" form="short" text-case="title" suffix=", "/>
<text macro="edition" suffix=", "/>
<text macro="publisher"/>
<group delimiter=" ">
<label variable="page" form="short" prefix=": "/>
<text variable="page"/>
</group>
</else-if>
<else-if type="patent">
<group delimiter=", ">
<text variable="title"/>
<text variable="number"/>
<text macro="year-date"/>
</group>
</else-if>
<else-if type="thesis">
<group delimiter=", ">
<text variable="title"/>
<text variable="genre"/>
<text variable="publisher"/>
<text macro="year-date"/>
</group>
</else-if>
<else>
<group delimiter=" ">
<text variable="title" suffix=","/>
<text variable="container-title" form="short" text-case="title"/>
<text variable="volume"/>
<text macro="year-date" prefix="(" suffix=")"/>
<text variable="page" form="short"/>
</group>
</else>
</choose>
<choose>
<if variable="DOI">
<text variable="DOI" prefix=". https://doi.org/"/>
</if>
<else>
<text macro="access" prefix=". "/>
</else>
</choose>
</layout>
</bibliography>
</style>
================================================
FILE: Bibliographies with R and Quarto/my-bib.bib
================================================
%% This BibTeX bibliography file was created using BibDesk.
%% https://bibdesk.sourceforge.io/
%% Created for equitable_equations at 2024-03-24 13:12:36 -0500
%% Saved with string encoding Unicode (UTF-8)
@article{Gard_2018,
author = {Gard, Andrew},
date-added = {2024-03-24 13:12:02 -0500},
date-modified = {2024-03-24 13:12:30 -0500},
doi = {10.1080/00029890.2018.1465785},
issn = {1930-0972},
journal = {The American Mathematical Monthly},
month = aug,
number = {7},
pages = {602-611},
publisher = {Informa UK Limited},
title = {The Wild Goose Chase Problem},
url = {http://dx.doi.org/10.1080/00029890.2018.1465785},
volume = {125},
year = {2018},
bdsk-file-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhYYm9va21hcmtfECZUaGVXaWxkR29vc2VDaGFzZVByb2JsZW1wdWJ2ZXJzaW9uLnBkZk8RBBBib29rEAQAAAAABBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAwAABQAAAAEBAABVc2VycwAAABMAAAABAQAAZXF1aXRhYmxlX2VxdWF0aW9ucwAHAAAAAQEAAERlc2t0b3AACwAAAAEBAABRdWFydG8gYmlicwAmAAAAAQEAAFRoZVdpbGRHb29zZUNoYXNlUHJvYmxlbXB1YnZlcnNpb24ucGRmAAAUAAAAAQYAAAQAAAAUAAAAMAAAAEAAAABUAAAACAAAAAQDAADaWgAAAAAAAAgAAAAEAwAAovd7BAAAAAAIAAAABAMAAKf3ewQAAAAACAAAAAQDAABl2coEAAAAAAgAAAAEAwAAPSLLBAAAAAAUAAAAAQYAAKAAAACwAAAAwAAAANAAAADgAAAACAAAAAAEAABBxdhSMkEgqxgAAAABAgAAAQAAAAAAAAAPAAAAAAAAAAAAAAAAAAAACAAAAAQDAAADAAAAAAAAAAQAAAADAwAA9gEAAAgAAAABCQAAZmlsZTovLy8MAAAAAQEAAE1hY2ludG9zaCBIRAgAAAAEAwAAAACHETkAAAAIAAAAAAQAAEHFlk7IgAAAJAAAAAEBAAAyRTU1Mzk1Ni05OERBLTREQjAtQjBEOC1GNTQ5MjVEODg4QzgYAAAAAQIAAIEAAAABAAAA7xMAAAEAAAAAAAAAAAAAAAEAAAABAQAALwAAAAAAAAABBQAABwEAAAECAABlNWNiZTFlMWY0MTQ2NmViMzEyMTc1OTkyNjNkNzMyYTlmMWE2MmNiNDRhNTg4ZjdkN2MxN2MwZTlkM2E1NmQ5OzAwOzAwMDAwMDAwOzAwMDAwMDAwOzAwMDAwMDAwOzAwMDAwMDAwMDAwMDAwMjA7Y29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQtd3JpdGU7MDE7MDEwMDAwMTI7MDAwMDAwMDAwNGNiMjIzZDs0MTsvdXNlcnMvZXF1aXRhYmxlX2VxdWF0aW9ucy9kZXNrdG9wL3F1YXJ0byBiaWJzL3RoZXdpbGRnb29zZWNoYXNlcHJvYmxlbXB1YnZlcnNpb24ucGRmAADMAAAA/v///wEAAAAAAAAAEAAAAAQQAACEAAAAAAAAAAUQAADwAAAAAAAAABAQAAAcAQAAAAAAAEAQAAAMAQAAAAAAAAIgAADoAQAAAAAAAAUgAABYAQAAAAAAABAgAABoAQAAAAAAABEgAACcAQAAAAAAABIgAAB8AQAAAAAAABMgAACMAQAAAAAAACAgAADIAQAAAAAAADAgAAD0AQAAAAAAAAHAAAA8AQAAAAAAABHAAAAUAAAAAAAAABLAAABMAQAAAAAAAIDwAAD8AQAAAAAAAAAIAA0AGgAjAEwAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAEYA==}}
@article{wickham2014tidy,
author = {Wickham, Hadley},
date-added = {2024-03-24 13:09:32 -0500},
date-modified = {2024-03-24 13:09:32 -0500},
journal = {Journal of statistical software},
pages = {1--23},
title = {Tidy data},
volume = {59},
year = {2014}}
================================================
FILE: Binning variables in R/README.md
================================================
# Binning variables in R
[<img src="binning thumb new.png" align="right" height="100" />](<https://youtu.be/mWSlUoeukmk>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Binning variables in R**, which you can find at <https://youtu.be/mWSlUoeukmk>.
================================================
FILE: Binning variables in R/script - binning variables.R
================================================
# binning quantitative variables in R
library(tidyverse)
library(readxl)
theme_set(theme_minimal())
titanic <- read_excel("titanic.xlsx")
View(titanic)
?cut_number
?cut # more general
cut_number(titanic$age,
n = 8) %>%
table()
titanic <- titanic %>%
drop_na(age)
titanic <- titanic %>%
mutate(age_binned = cut_interval(age,
n = 8))
count(titanic, age_binned)
titanic_summary <- titanic %>%
group_by(age_binned) %>%
summarize(survival_rate = mean(survived),
count = n())
titanic_summary
ggplot(titanic_summary, aes(x = age_binned,
y = survival_rate,
size = count)) +
geom_point()
================================================
FILE: Bivariate continuous probability distributions/README.md
================================================
# Bivariate distributions of continuous random variables
[<img src="cts thumb.png" align="right" height="100" />](<https://youtu.be/J5TsdccwbxA>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Bivariate distributions of continuous random variables**, which you can find at <https://youtu.be/J5TsdccwbxA>.
================================================
FILE: Combining columns in R with unite()/README.md
================================================
# Combining columns in R with unite()
[<img src="unite new thumb.png" align="right" height="100" />](<https://youtu.be/G8KEZzG--GM>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Combining columns in R with unite()**, which you can find at <https://youtu.be/G8KEZzG--GM>.
================================================
FILE: Combining columns in R with unite()/unite.R
================================================
library(tidyverse)
library(nycflights13)
?unite
glimpse(flights)
flights_ee <- flights %>%
unite(date,
year,
month,
day)
glimpse(flights_ee)
flights_ee <- flights %>%
unite(date,
year,
month,
day,
remove = FALSE)
flights_ee <- flights %>%
unite(date,
year,
month,
day,
remove = FALSE,
sep = "-") %>%
mutate(date = as.Date(date))
================================================
FILE: Combining data sets with left_join/README.md
================================================
# Combining data sets with left_join
[<img src="join_thumb.jpg" align="right" height="100" />](<https://youtu.be/r2PzjywsVXE>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Combining data sets with left_join**, which you can find at <https://youtu.be/r2PzjywsVXE>.
================================================
FILE: Combining data sets with left_join/left_join.R
================================================
library(tidyverse)
library(babynames)
?left_join
babynames
applicants
left_join(babynames, appllicants)
# Building the states data sets -------------------------------------------
state_geog <- data.frame(state = state.abb,
area = state.area,
center_long = state.center$x,
center_lat = state.center$y)
state_reg = data.frame(name = state.name,
abbr = state.abb,
region = state.region)
================================================
FILE: Combining observations with bind_rows()/README.md
================================================
# Combining observations with bind_rows
[<img src="bind_rows thumb.png" align="right" height="100" />](<https://youtu.be/08h_Vfj_mxk>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Combining observations with bind_rows**, which you can find at <https://youtu.be/08h_Vfj_mxk>.
================================================
FILE: Combining observations with bind_rows()/bind_rows.R
================================================
# combining sets using bind_rows
library(tidyverse)
?bind_rows
# construct data sets
msleep1 <- data.frame(name = c("Cheetah",
"Dog"),
genus = c("Acinonyx",
"Canis"))
msleep2 <- data.frame(name = c("Cow",
"Goat"),
genus = c("Bos",
"Capri"))
msleep3 <- data.frame(Name = c("Red fox",
"Mole rat"),
genus = c("Vulpes",
"Spalax"))
msleep1
msleep2
msleep3
bind_rows(msleep1, msleep2)
sleep_list <- list(msleep1, msleep2)
sleep_list
bind_rows(sleep_list)
bind_rows(sleep_list,
.id = "researcher") %>%
mutate(researcher = fct_recode(researcher,
"George" = "1",
"Sarah" = "2"))
bind_rows(msleep2, msleep3)
msleep3 %>%
rename("name" = "Name") %>%
rbind(msleep2,
msleep1)
rbind(msleep2, msleep3)
================================================
FILE: Computing normal probabilities examples/README.md
================================================
# Computing normal probabilities: examples
[<img src="normal thumb new.png" align="right" height="100" />](<https://youtu.be/Ob0xK2TDidY>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Computing normal probabilities: examples**, which you can find at <https://youtu.be/Ob0xK2TDidY>.
================================================
FILE: Conditional probability distributions/README.md
================================================
# Conditional probability distributions
[<img src="conditional thumb.png" align="right" height="100" />](<https://youtu.be/vAJI7N2wQ6I>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Conditional probability distributions**, which you can find at <https://youtu.be/vAJI7N2wQ6I>.
================================================
FILE: Contingency tables in R/README.md
================================================
# Contingency tables in R
[<img src="tables thumb new.png" align="right" height="100" />](<https://youtu.be/1-Fyi0iJ4I8>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Contingency tables in R**, which you can find at <https://youtu.be/1-Fyi0iJ4I8>.
================================================
FILE: Contingency tables in R/Script - contingency tables.R
================================================
# Contingency tables
library(ISLR2)
?table
t <- table(Carseats$Urban, Carseats$ShelveLoc)
str(t)
dim(t)
addmargins(t)
dim(addmargins(t))
marginSums(t)
marginSums(t, 1)
marginSums(t, 2)
proportions(t)
proportions(t, 1)
proportions(t, 2)
counts <- c(1, 2, 3, 4)
m <- matrix(counts, nrow = 2, byrow = TRUE)
m
addmargins(m)
================================================
FILE: Controlling the family-wise error rate/README.md
================================================
# Controlling the family-wise error rate
[<img src="fwer thumb new.png" align="right" height="100" />](<https://youtu.be/wDLrOiu3yps>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Controlling the family-wise error rate**, which you can find at <https://youtu.be/wDLrOiu3yps>.
================================================
FILE: Controlling the family-wise error rate/Script - controlling the fwer.R
================================================
# Correcting for multiple testing
?p.adjust
p <- c(0.005, 0.011, 0.025, 0.035, .045)
p.adjust(p, method = "bonferroni")
p.adjust(p, method = "holm")
================================================
FILE: Creating columns with mutate/README.md
================================================
# Creating columns in R with mutate()
[<img src="mutate thumb.png" align="right" height="100" />](<https://youtu.be/8g4DG3ZPYIg?si=E3rTHjYEwfOi6LUl>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Creating columns in R with mutate()**, which you can find at <https://youtu.be/8g4DG3ZPYIg?si=E3rTHjYEwfOi6LUl>.
================================================
FILE: Creating columns with mutate/script - mutate.R
================================================
library(tidyverse)
?mutate
Islands <- data.frame(Island = names(islands),
Area = islands,
row.names = NULL)
View(Islands)
Islands <- mutate(Islands, Area_km = Area * 2.59)
Islands2 <- transmute(Islands, Area_km = Area * 2.59)
View(Islands2)
Islands <- Islands %>%
mutate(Type = "Island",
Number = 1:48,
Rank = rank(Area),
Previous = lag(Number),
Next = lead(Number))
================================================
FILE: Cross references in R and Quarto/README.md
================================================
# Cross references in R and Quarto
[<img src="refs thumb new.png" align="right" height="100" />](<https://youtu.be/evBG6ZbZB68>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Cross references in R and Quarto**, which you can find at <https://youtu.be/evBG6ZbZB68>.
================================================
FILE: Cross references in R and Quarto/cross references.qmd
================================================
---
title: "Cross references"
author: "Andrew Gard"
number-sections: true
format: html
---
```{r}
#| label: setup
#| include: false
library(tidyverse)
library(gt)
```
## Images {#sec-im}
{width=60% #fig-logo}
Reference: @fig-logo. We can reformat how this appears. For instance [-@fig-logo] or [Figgy @fig-logo]
## Plots
```{r}
#| label: fig-msleep
#| warning: false
#| out-width: 60%
qplot(msleep$sleep_total)
```
Reference: @fig-msleep.
## Tables
```{r}
#| label: tbl-msleep
#| tbl-cap: Sleepy time
#| echo: false
msleep %>%
group_by(vore) %>%
summarize(Count = n(),
avg_sleep = mean(sleep_total,
na.rm = TRUE)) %>%
gt()
```
Reference: @tbl-msleep.
## Callouts
::: {.callout-note #nte-mynote}
Check out this note!
:::
Reference: @nte-mynote
## Equations
$$ e = mc^2 $$ {#eq-rel}
Reference: @eq-rel
## Sections
Reference: @sec-im
================================================
FILE: Data analysis - Billboard Hot 100/README.md
================================================
# Data analysis with R: the Billboard Hot 100
[<img src="billboard thumb.png" align="right" height="100" />](<https://youtu.be/Je5BGkoV9RI>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Data analysis with R: the Billboard Hot 100**, which you can find at <https://youtu.be/Je5BGkoV9RI>.
================================================
FILE: Data analysis - Billboard Hot 100/Script - billboard_top_100.R
================================================
# billboard top 100
# Tidy Tuesday Sept. 14, 2021
library(tidyverse)
library(tidytuesdayR)
tuesdata <- tidytuesdayR::tt_load('2021-09-14')
billboard <- tuesdata$billboard
audio <- tuesdata$audio_features
View(billboard)
View(audio)
# Are number one jams more cheerful,
# in general?
bb1 <- billboard %>%
mutate(no1 = (peak_position == 1),
week_id = mdy(week_id)) %>%
group_by(song_id) %>%
arrange(week_position, .by_group = TRUE) %>%
filter(!duplicated(song_id)) %>%
ungroup() %>%
select(song_id,
no1)
songs <- bb1 %>%
left_join(audio,
by = "song_id")
mean(is.na(songs$valence))
map_dbl(songs, \(x) mean(is.na(x)))
ggplot(songs, aes(x = valence,
y = no1)) +
geom_boxplot() +
theme_minimal()
t.test(valence ~ no1,
data = songs)
# yes, no1 jams are more valent
# however, the difference is small
# How large an effect is this?
# What is cohen's d?
df <- songs %>%
group_by(no1) %>%
summarize(avg_val = mean(valence,
na.rm = TRUE),
var_val = var(valence,
na.rm = TRUE))
pooled_sd <- sqrt(sum(df$var_val) / 2)
cohens_d <- diff(df$avg_val) / pooled_sd
cohens_d
================================================
FILE: Data analysis - US colleges/README.md
================================================
# Data analysis with R: US colleges
[<img src="college thumb new.png" align="right" height="100" />](<https://youtu.be/CToq7RVF1vI>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Data analysis with R: US colleges**, which you can find at <https://youtu.be/CToq7RVF1vI>.
================================================
FILE: Data analysis - US colleges/Script - analyzing college data.R
================================================
library(tidyverse)
library(ISLR2)
# Do colleges with larger full-time enrollments
# have lower graduation rates?
# Is this different for public/private institutions?
# If it different for more selective schools?
?College
glimpse(College)
# Exploratory graphics
ggplot(College, aes(x = Grad.Rate)) +
geom_histogram() # Note weird outlier
suspicious <- filter(College, Grad.Rate >= 100)
View(suspicious)
ggplot(College, aes(x = log10(F.Undergrad),
y = Grad.Rate)) +
geom_point()
college_sm <- College %>%
mutate(log_full = log10(F.Undergrad)) %>%
select(Grad.Rate,
log_full,
Private,
Top25perc)
View(college_sm)
# Modeling
ggplot(College, aes(x = log10(F.Undergrad),
y = Grad.Rate)) +
geom_point() +
geom_smooth(method = "lm")
model_undergrad <- lm(Grad.Rate ~ log_full,
data = college_sm)
summary(model_undergrad)
plot(model_undergrad)
# What about Private?
ggplot(College, aes(x = log10(F.Undergrad),
y = Grad.Rate,
color = Private)) +
geom_point() +
geom_smooth(method = "lm",
se = FALSE) +
scale_color_brewer(palette = "Dark2")
model_private <- lm(Grad.Rate ~ Private + log_full,
data = college_sm)
summary(model_private)
# Interaction: private and F.Undergrad
model_private_int <- lm(Grad.Rate ~ Private * log_full,
data = college_sm)
summary(model_private_int)
anova(model_private_int)
# What about Top25perc?
model_top <- lm(Grad.Rate ~ Private +
log_full +
Top25perc,
data = college_sm)
summary(model_top)
plot(model_top)
# Inset plot from YouTube thumbnail
ggplot(College, aes(x = log10(F.Undergrad),
y = Grad.Rate,
color = Private)) +
geom_point() +
geom_smooth(method = "lm",
se = FALSE) +
labs(x = "Full-time undergraduates (log scale)",
y = "Graduation rate",
color = "Private?",
title = "Bigger schools, more degrees") +
scale_color_brewer(palette = "Dark2") +
theme_minimal()
================================================
FILE: Data analysis - age gaps and bechdel tests/README.md
================================================
# Data analysis with R: age gaps and Bechdel tests
[<img src="bechdel_thumb.png" align="right" height="100" />](<https://youtu.be/mMoXJ-_UnYE>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Data analysis with R: age gaps and Bechdel tests**, which you can find at <https://youtu.be/mMoXJ-_UnYE>.
================================================
FILE: Data analysis - age gaps and bechdel tests/script - age gaps.R
================================================
# Question: is there a correlation between age
# gaps and Bechdel ratings?
# For this purpose: gap = man's age - woman's age
# Setup
library(tidyverse)
theme_set(theme_minimal())
age_gaps <- read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2023/2023-02-14/age_gaps.csv')
bechdel <- read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2021/2021-03-09/raw_bechdel.csv')
# Orientation
View(bechdel)
ggplot(bechdel,
aes(x = rating)) +
geom_bar()
View(age_gaps)
ggplot(age_gaps,
aes(x = age_difference)) +
geom_histogram()
# Data prep
age_gaps <- age_gaps %>%
mutate(man_older = case_when(
character_1_gender == "man" & character_2_gender == "woman" ~
actor_1_age - actor_2_age,
character_2_gender == "man" & character_1_gender == "woman" ~
actor_2_age - actor_1_age
))
ggplot(age_gaps,
aes(x = man_older)) +
geom_histogram()
mean(age_gaps$man_older,
na.rm = TRUE)
# Join the data
movies <- age_gaps %>%
left_join(bechdel,
by = c("movie_name" = "title",
"release_year" = "year"))
age_gaps$movie_name[810]
# 2017 Wonder woman has 3 bechdel ratings??
bechdel %>%
filter(title == "Wonder Woman")
movies <- movies %>%
filter(!(id %in% c(9293,9294)))
# Are there others?
bechdel %>%
count(title,
year) %>%
filter(n > 1)
# Visualization: age gap and bechdel rating
movies <- movies %>%
mutate(rating_cat = as.factor(rating)) %>%
drop_na(man_older,
rating)
ggplot(movies, aes(x = rating_cat,
y = man_older)) +
geom_boxplot(outlier.shape = NA) +
geom_jitter(alpha = .2) +
scale_x_discrete(labels = c("Fail",
"No conversation",
"Only about men",
"Pass")) +
labs(x = "Bechdel test result",
y = "Male age gap",
title = "Something to talk about")
# Correlation
cor(movies$man_older,
movies$rating)
cor(movies$man_older,
movies$rating,
method = "spearman")
# Testing
model <- lm(man_older ~ rating_cat,
data = movies)
summary(model)
================================================
FILE: Data analysis - floristic quality/README.md
================================================
# Data analysis with R: floristic quality
[<img src="floristic thumb.png" align="right" height="100" />](<https://youtu.be/8I4dbtURwT0>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Data analysis with R: floristic quality**, which you can find at <https://youtu.be/8I4dbtURwT0>.
================================================
FILE: Data analysis - floristic quality/Script - floristic quality data.R
================================================
# Student floristic quality data analysis
# Question: were the C-values of the 4 transects different from one another?
library(tidyverse)
library(here)
library(readxl)
library(janitor)
file1 <- here("student floristic quality data", "lfc_fqa_team1.xlsx")
file2 <- here("student floristic quality data", "lfc_fqa_team2.xlsx")
file3 <- here("student floristic quality data", "lfc_fqa_team3.xlsx")
team1 <- read_excel(file1)
team2 <- read_excel(file2)
team3 <- read_excel(file3)
view(team1)
view(team2)
view(team3)
fqa_data <- rbind(team1, team2, team3)
view(fqa_data)
fqa_data <- fqa_data |>
filter(!is.na(species_name)) |>
fill(team:plot_number) |>
clean_names()
fqa_data_tidier <- fqa_data |>
mutate(c = case_when(c == "NN" ~ "nn",
c == "NA" ~ NA_character_,
TRUE ~ c
))
view(fqa_data_tidier)
fqa_data_tidier |> count(c)
fqa_data_tidier <- fqa_data_tidier |>
mutate(c = as.numeric(c)) |>
filter(!is.na(c))
ggplot(fqa_data_tidier, aes(x = c)) +
geom_bar() +
scale_x_continuous(breaks = seq(from = 0,
to = 10,
by = 2)) +
theme_minimal()
# How do c-values compare across sites?
fqa_data_tidier |> count(transect_name)
fqa_data_tidier <- fqa_data_tidier |>
mutate(transect_name = case_when(transect_name == "Prarie" ~ "Prairie",
transect_name == "Reverie Prairie"~ "Prairie",
transect_name == "Savannah" ~ "Savanna",
transect_name == "Shooting Star Ravine" ~ "Ravine",
transect_name == "Shooting Star Savanna" ~ "Savanna",
transect_name == "Wetland Restoration" ~ "Wetland",
transect_name == "Wetlands" ~ "Wetland",
TRUE ~ .data$transect_name
))
fqa_data_tidier |> group_by(transect_name) |>
summarize(mean_c = mean(c),
sd_c = sd(c),
count = n()) |>
arrange(-mean_c)
# A visualization
ggplot(fqa_data_tidier, aes(x = transect_name,
y = c)) +
geom_boxplot() +
geom_jitter(width = .2) +
theme_minimal()
model <- aov(c ~ transect_name, data = fqa_data_tidier)
summary(model)
ggplot(fqa_data_tidier, aes(x = transect_name,
y = c)) +
geom_jitter(width = .2) +
theme_minimal()
================================================
FILE: Data analysis - scooby doo/README.md
================================================
# Data analysis with R: Scooby Doo
[<img src="scooby thumb new.png" align="right" height="100" />](<https://youtu.be/3av4Lk9mhzc>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Data analysis with R: Scooby Doo**, which you can find at <https://youtu.be/3av4Lk9mhzc>.
================================================
FILE: Data analysis - scooby doo/script - analyzing scooby doo.R
================================================
# Scooby dooby doo!
library(tidyverse)
theme_set(theme_minimal())
library(tidytuesdayR)
tuesdata <- tidytuesdayR::tt_load('2021-07-13')
scooby <- tuesdata$scoobydoo
glimpse(scooby)
scooby_sm <- scooby |>
select(series_name:format) |>
mutate(imdb = as.double(imdb))
# A preliminary visualization of imdb ratings over time
ggplot(scooby_sm, aes(x = date_aired,
y = imdb,
color = format)) +
geom_point() +
scale_color_brewer(palette = "Dark2")
# Exploring format
table(scooby_sm$format)
crossover <- filter(scooby_sm, format == "Crossover")
View(crossover)
# Let's filter all non-TV series episodes
scooby_sm <- scooby_sm |>
filter(format != "Crossover",
format != "Movie",
format != "Movie (Theatrical)")
table(scooby_sm$format)
View(scooby_sm)
# Let's combine the segmented episodes for the purposes
# of considering imdb ratings.
segmented <- scooby_sm |>
filter(format == "TV Series (segmented)") |>
group_by(date_aired) |>
summarize(imdb = mean(imdb),
network = unique(network),
series_name = unique(series_name),
total_runtime = sum(run_time))
View(segmented)
non_seg <- scooby_sm |>
filter(format != "TV Series (segmented)") |>
select(date_aired,
imdb,
network,
series_name,
total_runtime = run_time)
scooby_tidied <- rbind(non_seg,
segmented)
View(scooby_tidied)
# A new ggplot:
ggplot(scooby_tidied, aes(x = date_aired,
y = imdb,
col = network)) +
geom_point() +
scale_color_brewer(palette = "Dark2")
cw <- scooby_tidied |>
filter(network == "The CW")
View(cw)
# Does network inform imdb? Is The CW really so bad?
model <- aov(imdb ~ network,
data = scooby_tidied)
summary(model)
TukeyHSD(model)
# Yep. The CW was bad.
# Let's get an awesome bar chart for average imdb ratings
# for the various networks.
scooby_tidied |>
group_by(network) |>
summarize(mean_imdb = mean(imdb, na.rm = TRUE)) |>
ggplot(aes(x = fct_reorder(network, -mean_imdb),
y = mean_imdb,
fill = network)) +
geom_col() +
geom_text(aes(label = round(mean_imdb, 1)),
nudge_y = .3) +
scale_fill_brewer(palette = "Dark2") +
labs(x = "Network",
y = "Mean imdb rating",
title = "Scooby dooby doo!") +
theme(legend.position = "none",
axis.text.x = element_text(angle = 15))
================================================
FILE: Data visualization in 36 minutes/README.md
================================================
# Data visualization with R in 36 minutes
[<img src="dataviz thumb.png" align="right" height="100" />](<https://youtu.be/McL9MMwmIZY>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Data visualization with R in 36 minutes**, which you can find at <https://youtu.be/McL9MMwmIZY>.
================================================
FILE: Data visualization in 36 minutes/Script - dataviz.R
================================================
library(tidyverse)
library(modeldata)
?ggplot
?crickets
View(crickets)
# The basics
ggplot(crickets, aes(x = temp,
y = rate)) +
geom_point() +
labs(x = "Temperature",
y = "Chirp rate",
title = "Cricket chirps",
caption = "Source: McDonald (2009)")
ggplot(crickets, aes(x = temp,
y = rate,
color = species)) +
geom_point() +
labs(x = "Temperature",
y = "Chirp rate",
color = "Species",
title = "Cricket chirps",
caption = "Source: McDonald (2009)") +
scale_color_brewer(palette = "Dark2")
# Modifiying basic properties of the plot
ggplot(crickets, aes(x = temp,
y = rate)) +
geom_point(color = "red",
size = 2,
alpha = .3,
shape = "square") +
labs(x = "Temperature",
y = "Chirp rate",
title = "Cricket chirps",
caption = "Source: McDonald (2009)")
# Learn more about the options for the geom_abline()
# with ?geom_point
# Adding another layer
ggplot(crickets, aes(x = temp,
y = rate)) +
geom_point() +
geom_smooth(method = "lm",
se = FALSE) +
labs(x = "Temperature",
y = "Chirp rate",
title = "Cricket chirps",
caption = "Source: McDonald (2009)")
ggplot(crickets, aes(x = temp,
y = rate,
color = species)) +
geom_point() +
geom_smooth(method = "lm",
se = FALSE) +
labs(x = "Temperature",
y = "Chirp rate",
color = "Species",
title = "Cricket chirps",
caption = "Source: McDonald (2009)") +
scale_color_brewer(palette = "Dark2")
# Other plots
ggplot(crickets, aes(x = rate)) +
geom_histogram(bins = 15) # one quantitative variable
ggplot(crickets, aes(x = rate)) +
geom_freqpoly(bins = 15)
ggplot(crickets, aes(x = species)) +
geom_bar(color = "black",
fill = "lightblue")
ggplot(crickets, aes(x = species,
fill = species)) +
geom_bar(show.legend = FALSE) +
scale_fill_brewer(palette = "Dark2")
ggplot(crickets, aes(x = species,
y = rate,
color = species)) +
geom_boxplot(show.legend = FALSE) +
scale_color_brewer(palette = "Dark2") +
theme_minimal()
?theme_minimal()
# faceting
# not great:
ggplot(crickets, aes(x = rate,
fill = species)) +
geom_histogram(bins = 15) +
scale_fill_brewer(palette = "Dark2")
ggplot(crickets, aes(x = rate,
fill = species)) +
geom_histogram(bins = 15,
show.legend = FALSE) +
facet_wrap(~species) +
scale_fill_brewer(palette = "Dark2")
?facet_wrap
ggplot(crickets, aes(x = rate,
fill = species)) +
geom_histogram(bins = 15,
show.legend = FALSE) +
facet_wrap(~species,
ncol = 1) +
scale_fill_brewer(palette = "Dark2") +
theme_minimal()
================================================
FILE: Data wrangling with R/README.md
================================================
# Data wrangling with R
[<img src="wrangling new thumb.png" align="right" height="100" />](<https://youtu.be/oXImkptBpqc>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Data wrangling with R**, which you can find at <https://youtu.be/oXImkptBpqc>.
================================================
FILE: Data wrangling with R/script - data wrangling.R
================================================
# Data wrangling with tidyverse R
# install.packages("tidyverse") only need to do once
library(tidyverse)
?diamonds
# subset by row with filter() ---------------------------------------------
?filter
diamonds_sm <- filter(diamonds, cut == "Ideal")
diamonds_sm <- filter(diamonds, price > 10000)
View(diamonds_sm)
diamonds_sm <- filter(diamonds,
cut == "Ideal",
price > 10000)
diamonds_sm <- filter(diamonds,
cut == "Ideal" |
price > 10000)
# filter for missing values using is.na or !is.na
# subset by column with select() ------------------------------------------
?select
diamonds_sm <- select(diamonds, color, cut)
View(diamonds_sm)
diamonds_sm <- select(diamonds, 1:4)
diamonds_sm <- select(diamonds, starts_with("c"))
diamonds_sm <- select(diamonds, contains("c"))
diamonds_sm <- select(diamonds,
price,
everything())
diamonds_sm <- select(diamonds, -price)
# using the pipe
diamonds_sm <- diamonds %>%
select(-price)
# reorder rows with arrange() ---------------------------------------------
diamonds_arr <- diamonds %>%
arrange(color)
View(diamonds_arr)
diamonds_arr <- diamonds %>%
arrange(carat)
diamonds_arr <- diamonds %>%
arrange(color,
carat)
diamonds_arr <- diamonds %>%
arrange(carat,
color)
diamonds_arr <- diamonds %>%
arrange(desc(carat))
View(diamonds_arr)
glimpse(diamonds_arr)
# add or modify columns with mutate() -------------------------------------
diamonds_new <- diamonds %>%
mutate(mass_g = .20 * carat)
glimpse(diamonds_new)
diamonds_new <- diamonds %>%
mutate(mass_g = .20 * carat,
price_per_carat = price / carat)
glimpse(diamonds_new)
diamonds_new <- diamonds %>%
mutate(mass_g = .20 * carat,
price_per_carat = price / carat,
cut = tolower(cut))
glimpse(diamonds_new)
diamonds_new <- diamonds %>%
mutate(mass_g = .20 * carat,
price_per_carat = price / carat,
cut = tolower(cut),
expensive_TF = price > 10000)
glimpse(diamonds_new)
# other smaller verbs -----------------------------------------------------
?slice_max
?bind_rows
?left_join
?rename
?case_when
# grouped summaries with group_by() and summarize() -----------------------
diamonds %>%
group_by(cut) %>%
summarize(mean(price))
diamonds %>%
group_by(cut) %>%
summarize(avg_price = mean(price),
sd_price = sd(price))
diamonds %>%
group_by(cut,
color) %>%
summarize(avg_price = mean(price),
sd_price = sd(price),
count = n())
diamonds %>%
count(cut,
color) # counts only.
diamonds %>%
group_by(price > 10000) %>%
summarize(avg_price = mean(price),
sd_price = sd(price),
count = n())
diamonds %>%
group_by(expensive = price > 10000) %>%
summarize(avg_price = mean(price),
sd_price = sd(price),
count = n())
================================================
FILE: Deviance in logistic regression/README.md
================================================
# Deviance in logistic regression models
[<img src="deviance thumb.png" align="right" height="100" />](<https://youtu.be/LRobPVWmzmQ>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Deviance in logistic regression models**, which you can find at <https://youtu.be/LRobPVWmzmQ>.
================================================
FILE: Deviance in logistic regression/script - deviance in log models.R
================================================
library(tidyverse)
iris <- iris %>%
mutate(setosa = as.integer(Species == "setosa"))
ggplot(iris, aes(x = Sepal.Length,
y = setosa)) +
geom_jitter(height = .05,
alpha = .4) +
geom_smooth(method = "glm",
se = FALSE,
method.args = list(family = "binomial"))
model <- glm(setosa ~ Sepal.Length,
data = iris,
family = "binomial")
summary(model)
-2 * (50 * log(1/3) + 100 * log(2/3))
p_hat <- fitted.values(model, type = "response")
p_hat
-2 * (sum(log(p_hat[1:50])) + sum(log(1 - p_hat[51:150])))
================================================
FILE: Discrete bivariate distributions/README.md
================================================
# Discrete bivariate distributions
[<img src="bivariate thumb.png" align="right" height="100" />](<https://youtu.be/8N51CwbXoSQ>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Discrete bivariate distributions**, which you can find at <https://youtu.be/8N51CwbXoSQ>.
================================================
FILE: Du Bois challenge plate 25/README.md
================================================
# Dataviz with R: the Du Bois challenge
[<img src="dubois25 thumb.png" align="right" height="100" />](<https://youtu.be/ti-4aoEliA0>)
Hi everybody! In this folder, you'll find materials supporting my vid,
**Dataviz with R: the Du Bois challenge**, which you can find at <https://youtu.be/ti-4aoEliA0>.
================================================
FILE: Du Bois challenge plate 25/camcorder_code.R
================================================
library(tidyverse)
library(camcorder)
gg_record(
"dubois gif",
device = "png",
width = 5,
height = 6,
units = "in",
dpi = 300,
bg = "white"
)
data <- data.frame(value = c(1434975,
1322694,
1173624,
736170,
498532,
21186),
color = c("#dc143c",
"#e5e5e5",
"#ffd700",
"#7e7683",
"#4682b4",
"#ffc0cb"),
label = c("1899---$ 1,434,975 ",
"1895---$ 1,322,694 ",
"1890---$ 1,173,624 ",
"1885---$ 736,170 ",
"1880---$ 498,532 ",
"1875---$ 21,186 "))
# Bar charts --------------------------------------------------------------
# Super basic
ggplot(data, aes(y = label,
x = value,
fill = label)) +
geom_col(width = 1,
orientation = "y")
# Add color palette
ggplot(data, aes(y = label,
x = value,
fill = label)) +
geom_col(width = 1,
orientation = "y") +
scale_fill_manual(values = data$color)
# Fix ordering of labels
data <- data %>%
mutate(label = fct_reorder(label, 1:6))
# Add boundaries
ggplot(data, aes(y = label,
x = value,
fill = label)) +
geom_col(width = 1,
orientation = "y",
linewidth = .1,
color = "black") +
scale_fill_manual(values = data$color)
# Radial plot
ggplot(data, aes(y = label,
x = value,
fill = label)) +
geom_col(width = 1,
orientation = "y",
linewidth = .1,
color = "black") +
scale_fill_manual(values = data$color) +
coord_radial() +
theme_void()
# Angled bar chart --------------------------------------------------------
# add columns to data set with coordinates of vertices
m <- -6/(2*pi) # slope wrt theta
data <- data %>%
mutate(theta = (value/max(value)) * (15/8) * (2*pi),
y_ll = 20:25,
y_ul = 21:26,
y_ur = y_ul + m * theta,
y_lr = y_ll + m * theta,
x_ll = rep(0, times = 6),
x_ul = rep(0, times = 6),
x_ur = theta,
x_lr = theta)
bar_data <- data %>%
pivot_longer(cols = contains("_"),
names_to = c(".value", "vertex"),
names_sep = "_")
# Super basic
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon()
# Preview of radial version
ggplot(bar_data,
aes(x,
y,
fill = label)) +
geom_polygon() +
coord_radial()
ggplot(bar_data,
aes(x,
y,
fill = label)) +
geom_polygon() +
coord_radial(end = 15*pi/4) +
theme_void()
# fix colors and improve overall look
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
scale_fill_manual(values = data$color)
# Add labels
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
scale_fill_manual(values = data$color)
# preview radial version
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
scale_fill_manual(values = data$color) +
coord_radial(end = 15*pi/4) +
theme_void()
# Beautification ----------------------------------------------------------
# need y-axis ranging from 0 to 26
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_fill_manual(values = data$color)
# radial version
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_fill_manual(values = data$color) +
coord_radial(end = 15*pi/4) +
theme_void()
# start plot on y-axis
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = 0,
end = 15*pi/4) +
theme_void()
# Small rotation correction, remove legend
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1,
show.legend = FALSE) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = .02,
end = 15*pi/4) +
theme_void()
# title and background color
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1,
show.legend = FALSE) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = .02,
end = 15*pi/4) +
labs(title = "ASSESSED VALUE OF HOUSEHOLD AND KITCHEN FURNITURE \n OWNED BY GEORGIA NEGROES") +
theme_void() +
theme(plot.background = element_rect(fill = "#f9f1e7"))
# center and bold title
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1,
show.legend = FALSE) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = .02,
end = 15*pi/4) +
labs(title = "ASSESSED VALUE OF HOUSEHOLD AND KITCHEN FURNITURE \n OWNED BY GEORGIA NEGROES") +
theme_void() +
theme(plot.background = element_rect(fill = "#f9f1e7")) +
theme(plot.title = element_text(hjust = 0.5,
face = "bold",
size = 9))
# change font (final for now)
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1,
show.legend = FALSE) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = .02,
end = 15*pi/4) +
labs(title = "ASSESSED VALUE OF HOUSEHOLD AND KITCHEN FURNITURE \n OWNED BY GEORGIA NEGROES") +
theme_void() +
theme(plot.background = element_rect(fill = "#f9f1e7")) +
theme(plot.title = element_text(hjust = 0.5,
face = "bold",
size = 9),
text = element_text(family = "Charter"))
gg_playback(
first_image_duration = 4,
last_image_duration = 3,
frame_duration = .6,
image_resize = 800
)
================================================
FILE: Du Bois challenge plate 25/du bois script.R
================================================
# W.E.B. Du Bois data portraits plate 25
# Ref: Battle-Baptiste and Rusert (book)
# Ref: AJ Starks (style guide)
library(tidyverse)
data <- data.frame(value = c(1434975,
1322694,
1173624,
736170,
498532,
21186),
color = c("#dc143c",
"#e5e5e5",
"#ffd700",
"#7e7683",
"#4682b4",
"#ffc0cb"),
label = c("1899---$ 1,434,975 ",
"1895---$ 1,322,694 ",
"1890---$ 1,173,624 ",
"1885---$ 736,170 ",
"1880---$ 498,532 ",
"1875---$ 21,186 "))
# Bar charts --------------------------------------------------------------
# Super basic
ggplot(data, aes(y = label,
x = value,
fill = label)) +
geom_col(width = 1,
orientation = "y")
# Add color palette
ggplot(data, aes(y = label,
x = value,
fill = label)) +
geom_col(width = 1,
orientation = "y") +
scale_fill_manual(values = data$color)
# Fix ordering of labels
data <- data %>%
mutate(label = fct_reorder(label, 1:6))
# Add boundaries
ggplot(data, aes(y = label,
x = value,
fill = label)) +
geom_col(width = 1,
orientation = "y",
linewidth = .1,
color = "black") +
scale_fill_manual(values = data$color)
# Radial plot
ggplot(data, aes(y = label,
x = value,
fill = label)) +
geom_col(width = 1,
orientation = "y",
linewidth = .1,
color = "black") +
scale_fill_manual(values = data$color) +
coord_radial() +
theme_void()
# Angled bar chart --------------------------------------------------------
# add columns to data set with coordinates of vertices
m <- -6/(2*pi) # slope wrt theta
data <- data %>%
mutate(theta = (value/max(value)) * (15/8) * (2*pi),
y_ll = 20:25,
y_ul = 21:26,
y_ur = y_ul + m * theta,
y_lr = y_ll + m * theta,
x_ll = rep(0, times = 6),
x_ul = rep(0, times = 6),
x_ur = theta,
x_lr = theta)
bar_data <- data %>%
pivot_longer(cols = contains("_"),
names_to = c(".value", "vertex"),
names_sep = "_")
# Super basic
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon()
# Preview of radial version
ggplot(bar_data,
aes(x,
y,
fill = label)) +
geom_polygon() +
coord_radial()
ggplot(bar_data,
aes(x,
y,
fill = label)) +
geom_polygon() +
coord_radial(end = 15*pi/4) +
theme_void()
# fix colors and improve overall look
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
scale_fill_manual(values = data$color)
# Add labels
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
scale_fill_manual(values = data$color)
# preview radial version
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
scale_fill_manual(values = data$color) +
coord_radial(end = 15*pi/4) +
theme_void()
# Beautification ----------------------------------------------------------
# need y-axis ranging from 0 to 26
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_fill_manual(values = data$color)
# radial version
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_fill_manual(values = data$color) +
coord_radial(end = 15*pi/4) +
theme_void()
# start plot on y-axis
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = 0,
end = 15*pi/4) +
theme_void()
# Small rotation correction, remove legend
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1,
show.legend = FALSE) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = .02,
end = 15*pi/4) +
theme_void()
# title and background color
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1,
show.legend = FALSE) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = .02,
end = 15*pi/4) +
labs(title = "ASSESSED VALUE OF HOUSEHOLD AND KITCHEN FURNITURE \n OWNED BY GEORGIA NEGROES") +
theme_void() +
theme(plot.background = element_rect(fill = "#f9f1e7"))
# center and bold title
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1,
show.legend = FALSE) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = .02,
end = 15*pi/4) +
labs(title = "ASSESSED VALUE OF HOUSEHOLD AND KITCHEN FURNITURE \n OWNED BY GEORGIA NEGROES") +
theme_void() +
theme(plot.background = element_rect(fill = "#f9f1e7")) +
theme(plot.title = element_text(hjust = 0.5,
face = "bold",
size = 9))
# change font (final for now)
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1,
show.legend = FALSE) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 2) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = .02,
end = 15*pi/4) +
labs(title = "ASSESSED VALUE OF HOUSEHOLD AND KITCHEN FURNITURE \n OWNED BY GEORGIA NEGROES") +
theme_void() +
theme(plot.background = element_rect(fill = "#f9f1e7")) +
theme(plot.title = element_text(hjust = 0.5,
face = "bold",
size = 9),
text = element_text(family = "Charter"))
# For export --------------------------------------------------------------
ggplot(bar_data,
aes(x = x,
y = y,
fill = label)) +
geom_polygon(color = "black",
linewidth = .1,
show.legend = FALSE) +
geom_text(data = data,
aes(x = 0,
y = y_ll + 0.5,
label = label),
hjust = "right",
size = 10) +
ylim(c(0, 26)) +
scale_x_continuous(expand = c(0,0)) +
scale_fill_manual(values = data$color) +
coord_radial(start = .02,
end = 15*pi/4) +
labs(title = "ASSESSED VALUE OF HOUSEHOLD AND KITCHEN FURNITURE \n OWNED BY GEORGIA NEGROES") +
theme_void() +
theme(plot.background = element_rect(fill = "#f9f1e7")) +
theme(plot.title = element_text(hjust = 0.5,
face = "bold",
size = 50),
text = element_text(family = "Charter"))
ggsave("dubois25_gard.png",
width = 22,
height = 24,
bg = "white")
================================================
FILE: Essential R tools for regression modeling/README.md
================================================
# Essential R tools for regression modeling
[<img src="broom thumb new.png" align="right" height="100" />](<https://youtu.be/Oy1_A_ZhCY0>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Essential R tools for regression modeling**, which you can find at <https://youtu.be/Oy1_A_ZhCY0>.
================================================
FILE: Essential R tools for regression modeling/broom.R
================================================
# See https://github.com/equitable-equations/youtube
# for analysis of the College data set.
# Preliminaries:
library(tidyverse)
library(ISLR2)
library(broom)
college_sm <- College %>%
mutate(log_full = log(F.Undergrad)) %>%
select(Grad.Rate,
log_full,
Private,
Top25perc)
# Build the model:
model_top <- lm(Grad.Rate ~ log_full +
Private +
Top25perc,
data = college_sm)
# Summarize the model:
summary(model_top)
# Functions from broom:
tidy(model_top)
model_aug <- augment(model_top)
View(model_aug)
model_glance <- glance(model_top)
View(model_glance)
================================================
FILE: Gamma distribution/README.md
================================================
# The gamma distribution
[<img src="gamma thumb new.png" align="right" height="100" />](<https://youtu.be/cpW40zPdAQ8>)
Hi everybody! In this folder, you'll find materials supporting my vid, **The gamma distribution**, which you can find at <https://youtu.be/cpW40zPdAQ8>.
================================================
FILE: Gamma distribution in R/README.md
================================================
# The gamma distribution in R
[<img src="gamma thumb.jpg" align="right" height="100" />](<https://youtu.be/gi47yb5_9xg>)
Hi everybody! In this folder, you'll find materials supporting my vid, **The gamma distribution in R**, which you can find at <https://youtu.be/gi47yb5_9xg>.
================================================
FILE: Gamma distribution in R/Script - the gamma distribution in R.R
================================================
1 - pgamma(60, 25, 1/3)
1 - pgamma(60, 25, scale = 3)
qgamma(.95, 5, 1/3)
times <- rgamma(1000, 5, 1/3)
times # your results may be different here.
library(tidyverse)
qplot(times, bins = 25, xlab = "Waiting times") +
geom_vline(xintercept = 27.46)
================================================
FILE: Getting started with R/README.md
================================================
# Getting started with R
[<img src="getting started thumb.png" align="right" height="100" />](<https://youtu.be/ftb7u_JuJwg>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Getting started with R**, which you can find at <https://youtu.be/ftb7u_JuJwg>.
================================================
FILE: Getting started with R/amy.csv
================================================
artist_name,artist_id,album_id,album_type,album_images,album_release_date,album_release_year,album_release_date_precision,danceability,energy,key,loudness,mode,speechiness,acousticness,instrumentalness,liveness,valence,tempo,track_id,analysis_url,time_signature,artists,available_markets,disc_number,duration_ms,explicit,track_href,is_local,track_name,track_preview_url,track_number,type,track_uri,external_urls.spotify,album_name,key_name,mode_name,key_mode
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.782,0.506,9,-8.184,0,0.129,0.317,5.58e-5,0.979,0.748,91.075,7op4mx4y4ON4qT7pZnNM7u,https://api.spotify.com/v1/audio-analysis/7op4mx4y4ON4qT7pZnNM7u,4,,,1,230573,FALSE,https://api.spotify.com/v1/tracks/7op4mx4y4ON4qT7pZnNM7u,FALSE,Stronger Than Me - Live On Later... With Jools Holland / 2003,NA,1,track,spotify:track:7op4mx4y4ON4qT7pZnNM7u,https://open.spotify.com/track/7op4mx4y4ON4qT7pZnNM7u,At The BBC,A,minor,A minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.443,0.584,1,-5.89,0,0.0595,0.444,0,0.978,0.316,107.168,4PnPQJmXamSFwxoamRuIae,https://api.spotify.com/v1/audio-analysis/4PnPQJmXamSFwxoamRuIae,4,,,1,230480,FALSE,https://api.spotify.com/v1/tracks/4PnPQJmXamSFwxoamRuIae,FALSE,Take The Box - Live From The Mercury Prize Awards / 2004,NA,2,track,spotify:track:4PnPQJmXamSFwxoamRuIae,https://open.spotify.com/track/4PnPQJmXamSFwxoamRuIae,At The BBC,C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.454,0.326,5,-9.172,0,0.0384,0.721,0,0.981,0.553,102.492,1U0cCrP1EhDFlmB6CTRh5O,https://api.spotify.com/v1/audio-analysis/1U0cCrP1EhDFlmB6CTRh5O,3,,,1,198080,FALSE,https://api.spotify.com/v1/tracks/1U0cCrP1EhDFlmB6CTRh5O,FALSE,Teach Me Tonight - Live On Jools Holland Hootenanny / 2004,NA,3,track,spotify:track:1U0cCrP1EhDFlmB6CTRh5O,https://open.spotify.com/track/1U0cCrP1EhDFlmB6CTRh5O,At The BBC,F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.509,0.759,0,-7.17,1,0.0982,0.292,4.05e-6,0.71,0.567,144.61,7dBVgA43mdpWAxeoc4nx2O,https://api.spotify.com/v1/audio-analysis/7dBVgA43mdpWAxeoc4nx2O,4,,,1,225080,FALSE,https://api.spotify.com/v1/tracks/7dBVgA43mdpWAxeoc4nx2O,FALSE,Rehab - Live On Later... With Jools Holland / 2006,NA,4,track,spotify:track:7dBVgA43mdpWAxeoc4nx2O,https://open.spotify.com/track/7dBVgA43mdpWAxeoc4nx2O,At The BBC,C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.5,0.691,0,-10.17,1,0.317,0.915,0.00127,0.962,0.886,60.105,2RtYWELB3znKy86yd9VTfI,https://api.spotify.com/v1/audio-analysis/2RtYWELB3znKy86yd9VTfI,3,,,1,73693,FALSE,https://api.spotify.com/v1/tracks/2RtYWELB3znKy86yd9VTfI,FALSE,Tenderly - Live On Later... With Jools Holland / 2006,NA,5,track,spotify:track:2RtYWELB3znKy86yd9VTfI,https://open.spotify.com/track/2RtYWELB3znKy86yd9VTfI,At The BBC,C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.458,0.857,1,-6.863,0,0.296,0.469,0,0.973,0.659,120.509,6p5rDpiFAwFqopcLP1cXIn,https://api.spotify.com/v1/audio-analysis/6p5rDpiFAwFqopcLP1cXIn,4,,,1,204506,FALSE,https://api.spotify.com/v1/tracks/6p5rDpiFAwFqopcLP1cXIn,FALSE,Tears Dry On Their Own - Live On Later... With Jools Holland / 2006,NA,6,track,spotify:track:6p5rDpiFAwFqopcLP1cXIn,https://open.spotify.com/track/6p5rDpiFAwFqopcLP1cXIn,At The BBC,C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.663,0.871,10,-6.598,1,0.098,0.453,8.38e-4,0.973,0.926,135.228,11RwX2XrkrduAwdmug89ja,https://api.spotify.com/v1/audio-analysis/11RwX2XrkrduAwdmug89ja,4,,,1,199760,FALSE,https://api.spotify.com/v1/tracks/11RwX2XrkrduAwdmug89ja,FALSE,Monkey Man - Live On Jools Holland Hootenanny / 2006,NA,7,track,spotify:track:11RwX2XrkrduAwdmug89ja,https://open.spotify.com/track/11RwX2XrkrduAwdmug89ja,At The BBC,A#,major,A# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.593,0.667,6,-7.266,0,0.0402,0.569,1.56e-5,0.974,0.63,113.781,5kB7BZY3dJJtQYiXkyesrD,https://api.spotify.com/v1/audio-analysis/5kB7BZY3dJJtQYiXkyesrD,4,,,1,234066,FALSE,https://api.spotify.com/v1/tracks/5kB7BZY3dJJtQYiXkyesrD,FALSE,I Heard It Through The Grapevine - Live On Jools Holland Hootenanny / 2006,NA,8,track,spotify:track:5kB7BZY3dJJtQYiXkyesrD,https://open.spotify.com/track/5kB7BZY3dJJtQYiXkyesrD,At The BBC,F#,minor,F# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.317,0.517,10,-7.921,1,0.0589,0.331,4.25e-5,0.984,0.342,99.59,3kt92YozPwnpnE5yQziJ60,https://api.spotify.com/v1/audio-analysis/3kt92YozPwnpnE5yQziJ60,4,,,1,276080,FALSE,https://api.spotify.com/v1/tracks/3kt92YozPwnpnE5yQziJ60,FALSE,Don't Go To Strangers - Live On Jools Holland Hootenanny / 2006,NA,9,track,spotify:track:3kt92YozPwnpnE5yQziJ60,https://open.spotify.com/track/3kt92YozPwnpnE5yQziJ60,At The BBC,A#,major,A# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.398,0.155,0,-11.058,1,0.0417,0.945,9.51e-5,0.717,0.24,178.489,3dqHcjkKozhNqz6E4lK6bC,https://api.spotify.com/v1/audio-analysis/3dqHcjkKozhNqz6E4lK6bC,4,,,1,154893,FALSE,https://api.spotify.com/v1/tracks/3dqHcjkKozhNqz6E4lK6bC,FALSE,Love Is A Losing Game - Live From The Mercury Prize Awards / 2007,NA,10,track,spotify:track:3dqHcjkKozhNqz6E4lK6bC,https://open.spotify.com/track/3dqHcjkKozhNqz6E4lK6bC,At The BBC,C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.556,0.696,5,-6.983,0,0.124,0.0954,6.19e-6,0.627,0.547,144.993,3NiKAPhnUU2OW9idi7xBRu,https://api.spotify.com/v1/audio-analysis/3NiKAPhnUU2OW9idi7xBRu,4,,,2,235266,FALSE,https://api.spotify.com/v1/tracks/3NiKAPhnUU2OW9idi7xBRu,FALSE,Know You Now - Live At The Leicester Summer Sundae / 2004,NA,1,track,spotify:track:3NiKAPhnUU2OW9idi7xBRu,https://open.spotify.com/track/3NiKAPhnUU2OW9idi7xBRu,At The BBC,F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.423,0.533,2,-7.525,1,0.191,0.447,0,0.981,0.49,202.006,6qBNpIyUFTEG1CkODQsc9x,https://api.spotify.com/v1/audio-analysis/6qBNpIyUFTEG1CkODQsc9x,4,,,2,221560,FALSE,https://api.spotify.com/v1/tracks/6qBNpIyUFTEG1CkODQsc9x,FALSE,Fuck Me Pumps - Live From T In The Park / 2004,NA,2,track,spotify:track:6qBNpIyUFTEG1CkODQsc9x,https://open.spotify.com/track/6qBNpIyUFTEG1CkODQsc9x,At The BBC,D,major,D major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.574,0.7,10,-4.965,0,0.06,0.282,7.7e-6,0.686,0.728,98.053,2gFsfv8A295IgWxcf6ELNG,https://api.spotify.com/v1/audio-analysis/2gFsfv8A295IgWxcf6ELNG,4,,,2,277773,FALSE,https://api.spotify.com/v1/tracks/2gFsfv8A295IgWxcf6ELNG,FALSE,In My Bed - Live From T In The Park / 2004,NA,3,track,spotify:track:2gFsfv8A295IgWxcf6ELNG,https://open.spotify.com/track/2gFsfv8A295IgWxcf6ELNG,At The BBC,A#,minor,A# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.539,0.756,7,-5.194,1,0.248,0.242,0,0.905,0.571,99.986,14JgmDzPjbmaUY3pkQFdWX,https://api.spotify.com/v1/audio-analysis/14JgmDzPjbmaUY3pkQFdWX,4,,,2,221986,FALSE,https://api.spotify.com/v1/tracks/14JgmDzPjbmaUY3pkQFdWX,FALSE,October Song - Live From T In The Park / 2004,NA,4,track,spotify:track:14JgmDzPjbmaUY3pkQFdWX,https://open.spotify.com/track/14JgmDzPjbmaUY3pkQFdWX,At The BBC,G,major,G major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.591,0.635,5,-7.25,1,0.178,0.242,0,0.506,0.488,138.12,6T5wYCaa6wmaAsAPlDNPNv,https://api.spotify.com/v1/audio-analysis/6T5wYCaa6wmaAsAPlDNPNv,4,,,2,238040,FALSE,https://api.spotify.com/v1/tracks/6T5wYCaa6wmaAsAPlDNPNv,FALSE,"Rehab - Live Pete Mitchell, BBC Radio Session / 2006",NA,5,track,spotify:track:6T5wYCaa6wmaAsAPlDNPNv,https://open.spotify.com/track/6T5wYCaa6wmaAsAPlDNPNv,At The BBC,F,major,F major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.755,0.37,2,-6.787,0,0.0698,0.825,1.34e-4,0.0664,0.598,103.956,41kB3pCfmjTFEzUYsIWzI7,https://api.spotify.com/v1/audio-analysis/41kB3pCfmjTFEzUYsIWzI7,4,,,2,206906,FALSE,https://api.spotify.com/v1/tracks/41kB3pCfmjTFEzUYsIWzI7,FALSE,"You Know I'm No Good - Live Jo Whiley, BBC Live Lounge Session / 2007",NA,6,track,spotify:track:41kB3pCfmjTFEzUYsIWzI7,https://open.spotify.com/track/41kB3pCfmjTFEzUYsIWzI7,At The BBC,D,minor,D minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.496,0.708,9,-6.844,1,0.0413,0.398,1.22e-4,0.881,0.648,104.12,2g6qGfcMKlv1KLn1Ia4Nw7,https://api.spotify.com/v1/audio-analysis/2g6qGfcMKlv1KLn1Ia4Nw7,4,,,2,197360,FALSE,https://api.spotify.com/v1/tracks/2g6qGfcMKlv1KLn1Ia4Nw7,FALSE,Just Friends - Live BBC Radio 2 Big Band Special / 2009,NA,7,track,spotify:track:2g6qGfcMKlv1KLn1Ia4Nw7,https://open.spotify.com/track/2g6qGfcMKlv1KLn1Ia4Nw7,At The BBC,A,major,A major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.508,0.506,0,-6.69,1,0.0482,0.516,2.74e-4,0.702,0.393,159.831,04oBXjVazNa2K9v7cwUTNj,https://api.spotify.com/v1/audio-analysis/04oBXjVazNa2K9v7cwUTNj,4,,,2,169746,FALSE,https://api.spotify.com/v1/tracks/04oBXjVazNa2K9v7cwUTNj,FALSE,Love Is A Losing Game - Live On Later... With Jools Holland / 2009,NA,8,track,spotify:track:04oBXjVazNa2K9v7cwUTNj,https://open.spotify.com/track/04oBXjVazNa2K9v7cwUTNj,At The BBC,C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.611,0.587,1,-6.203,0,0.0333,0.433,4.51e-6,0.112,0.649,119.732,6GY7yKOI1ZTpXk6xSnjzUK,https://api.spotify.com/v1/audio-analysis/6GY7yKOI1ZTpXk6xSnjzUK,4,,,2,191186,FALSE,https://api.spotify.com/v1/tracks/6GY7yKOI1ZTpXk6xSnjzUK,FALSE,"Tears Dry On Their Own - Live Jo Whiley, BBC Live Lounge Session / 2007",NA,9,track,spotify:track:6GY7yKOI1ZTpXk6xSnjzUK,https://open.spotify.com/track/6GY7yKOI1ZTpXk6xSnjzUK,At The BBC,C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.546,0.709,11,-6.557,1,0.0931,0.181,0,0.915,0.582,97.258,4vyL8RX03QfBRBs9dMUHxX,https://api.spotify.com/v1/audio-analysis/4vyL8RX03QfBRBs9dMUHxX,4,,,2,183693,FALSE,https://api.spotify.com/v1/tracks/4vyL8RX03QfBRBs9dMUHxX,FALSE,"Best Friends, Right? - Live At The Leicester Summer Sundae / 2004",NA,10,track,spotify:track:4vyL8RX03QfBRBs9dMUHxX,https://open.spotify.com/track/4vyL8RX03QfBRBs9dMUHxX,At The BBC,B,major,B major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.302,0.375,4,-6.187,0,0.0317,0.744,0.0507,0.73,0.0709,128.33,2vqISHPIeMcCS9P2JLQVBe,https://api.spotify.com/v1/audio-analysis/2vqISHPIeMcCS9P2JLQVBe,4,,,2,219026,FALSE,https://api.spotify.com/v1/tracks/2vqISHPIeMcCS9P2JLQVBe,FALSE,I Should Care - Live From The Stables / 2004,NA,11,track,spotify:track:2vqISHPIeMcCS9P2JLQVBe,https://open.spotify.com/track/2vqISHPIeMcCS9P2JLQVBe,At The BBC,E,minor,E minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.338,0.706,3,-3.427,1,0.076,0.64,3.8e-6,0.941,0.579,182.973,52nsOnLZuRQSNJr7940Xyb,https://api.spotify.com/v1/audio-analysis/52nsOnLZuRQSNJr7940Xyb,4,,,2,154680,FALSE,https://api.spotify.com/v1/tracks/52nsOnLZuRQSNJr7940Xyb,FALSE,Lullaby Of Birdland - Live From The Stables / 2004,NA,12,track,spotify:track:52nsOnLZuRQSNJr7940Xyb,https://open.spotify.com/track/52nsOnLZuRQSNJr7940Xyb,At The BBC,D#,major,D# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.757,0.302,5,-8.13,0,0.0375,0.739,2.08e-6,0.16,0.657,96.125,4ml8AFICctVaeDXoZyhp42,https://api.spotify.com/v1/audio-analysis/4ml8AFICctVaeDXoZyhp42,4,,,2,231066,FALSE,https://api.spotify.com/v1/tracks/4ml8AFICctVaeDXoZyhp42,FALSE,"Valerie - Live Jo Whiley, BBC Live Lounge Session / 2007",NA,13,track,spotify:track:4ml8AFICctVaeDXoZyhp42,https://open.spotify.com/track/4ml8AFICctVaeDXoZyhp42,At The BBC,F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.401,0.425,2,-7.489,1,0.0327,0.778,0,0.119,0.301,171.525,1oUD1lrhU5MnAxrQvLvTdX,https://api.spotify.com/v1/audio-analysis/1oUD1lrhU5MnAxrQvLvTdX,3,,,2,153920,FALSE,https://api.spotify.com/v1/tracks/1oUD1lrhU5MnAxrQvLvTdX,FALSE,"To Know Him Is To Love Him - Live Pete Mitchell, BBC Radio Session / 2006",NA,14,track,spotify:track:1oUD1lrhU5MnAxrQvLvTdX,https://open.spotify.com/track/1oUD1lrhU5MnAxrQvLvTdX,At The BBC,D,major,D major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.471,0.775,1,-6.753,1,0.323,0.289,1.13e-4,0.918,0.607,75.012,0hyOh5ZiEZREY6Vq2aCbJu,https://api.spotify.com/v1/audio-analysis/0hyOh5ZiEZREY6Vq2aCbJu,4,,,3,193453,FALSE,https://api.spotify.com/v1/tracks/0hyOh5ZiEZREY6Vq2aCbJu,FALSE,Know You Now - Live At Porchester Hall / 2007,NA,1,track,spotify:track:0hyOh5ZiEZREY6Vq2aCbJu,https://open.spotify.com/track/0hyOh5ZiEZREY6Vq2aCbJu,At The BBC,C#,major,C# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.451,0.771,1,-6.415,0,0.454,0.687,1.38e-5,0.776,0.545,121.284,6VYG3BMGYLDV0OR6sEXax8,https://api.spotify.com/v1/audio-analysis/6VYG3BMGYLDV0OR6sEXax8,4,,,3,207413,FALSE,https://api.spotify.com/v1/tracks/6VYG3BMGYLDV0OR6sEXax8,FALSE,Tears Dry On Their Own - Live At Porchester Hall / 2007,NA,2,track,spotify:track:6VYG3BMGYLDV0OR6sEXax8,https://open.spotify.com/track/6VYG3BMGYLDV0OR6sEXax8,At The BBC,C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.555,0.718,9,-7.649,1,0.113,0.229,1.39e-4,0.892,0.476,111.377,1ZhAr4A06WiFRR99KUy6Cr,https://api.spotify.com/v1/audio-analysis/1ZhAr4A06WiFRR99KUy6Cr,4,,,3,255520,FALSE,https://api.spotify.com/v1/tracks/1ZhAr4A06WiFRR99KUy6Cr,FALSE,You Know I'm No Good - Live At Porchester Hall / 2007,NA,3,track,spotify:track:1ZhAr4A06WiFRR99KUy6Cr,https://open.spotify.com/track/1ZhAr4A06WiFRR99KUy6Cr,At The BBC,A,major,A major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.66,0.542,9,-8.506,1,0.0849,0.414,3.72e-4,0.677,0.531,95.94,10OcV3kj7y1mS2XproMP0L,https://api.spotify.com/v1/audio-analysis/10OcV3kj7y1mS2XproMP0L,4,,,3,192973,FALSE,https://api.spotify.com/v1/tracks/10OcV3kj7y1mS2XproMP0L,FALSE,Just Friends - Live At Porchester Hall / 2007,NA,4,track,spotify:track:10OcV3kj7y1mS2XproMP0L,https://open.spotify.com/track/10OcV3kj7y1mS2XproMP0L,At The BBC,A,major,A major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.546,0.732,11,-6.903,0,0.164,0.384,0,0.946,0.576,101.221,63GyGK1Xn6nolMAz0hOk7J,https://api.spotify.com/v1/audio-analysis/63GyGK1Xn6nolMAz0hOk7J,4,,,3,195240,FALSE,https://api.spotify.com/v1/tracks/63GyGK1Xn6nolMAz0hOk7J,FALSE,He Can Only Hold Her - Live At Porchester Hall / 2007,NA,5,track,spotify:track:63GyGK1Xn6nolMAz0hOk7J,https://open.spotify.com/track/63GyGK1Xn6nolMAz0hOk7J,At The BBC,B,minor,B minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.407,0.454,9,-7.869,1,0.053,0.753,0,0.968,0.224,112.658,6jeGMGeUYfYSJPy1ucqbMC,https://api.spotify.com/v1/audio-analysis/6jeGMGeUYfYSJPy1ucqbMC,4,,,3,200573,FALSE,https://api.spotify.com/v1/tracks/6jeGMGeUYfYSJPy1ucqbMC,FALSE,I Heard Love Is Blind - Live At Porchester Hall / 2007,NA,6,track,spotify:track:6jeGMGeUYfYSJPy1ucqbMC,https://open.spotify.com/track/6jeGMGeUYfYSJPy1ucqbMC,At The BBC,A,major,A major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.42,0.79,0,-6.297,1,0.156,0.669,2.84e-5,0.967,0.474,152.139,6OZWdGJUyKiaApZhdcaaPa,https://api.spotify.com/v1/audio-analysis/6OZWdGJUyKiaApZhdcaaPa,4,,,3,218613,FALSE,https://api.spotify.com/v1/tracks/6OZWdGJUyKiaApZhdcaaPa,FALSE,Rehab - Live At Porchester Hall / 2007,NA,7,track,spotify:track:6OZWdGJUyKiaApZhdcaaPa,https://open.spotify.com/track/6OZWdGJUyKiaApZhdcaaPa,At The BBC,C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.48,0.502,1,-7.21,0,0.0851,0.597,1.16e-6,0.93,0.363,113.677,3hxKhsgHf8ALzGBOTkvwId,https://api.spotify.com/v1/audio-analysis/3hxKhsgHf8ALzGBOTkvwId,4,,,3,210560,FALSE,https://api.spotify.com/v1/tracks/3hxKhsgHf8ALzGBOTkvwId,FALSE,Take The Box - Live At Porchester Hall / 2007,NA,8,track,spotify:track:3hxKhsgHf8ALzGBOTkvwId,https://open.spotify.com/track/3hxKhsgHf8ALzGBOTkvwId,At The BBC,C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.449,0.439,5,-9.063,1,0.0677,0.878,0.00248,0.718,0.184,131.59,1QvZS74G7QMwNaooqXF5QQ,https://api.spotify.com/v1/audio-analysis/1QvZS74G7QMwNaooqXF5QQ,3,,,3,201706,FALSE,https://api.spotify.com/v1/tracks/1QvZS74G7QMwNaooqXF5QQ,FALSE,Some Unholy War - Live At Porchester Hall / 2007,NA,9,track,spotify:track:1QvZS74G7QMwNaooqXF5QQ,https://open.spotify.com/track/1QvZS74G7QMwNaooqXF5QQ,At The BBC,F,major,F major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.504,0.694,2,-7.154,1,0.255,0.432,0.00356,0.972,0.347,138.178,0jUfqdTFe6YacBEMpDjCef,https://api.spotify.com/v1/audio-analysis/0jUfqdTFe6YacBEMpDjCef,4,,,3,234840,FALSE,https://api.spotify.com/v1/tracks/0jUfqdTFe6YacBEMpDjCef,FALSE,Back To Black - Live At Porchester Hall / 2007,NA,10,track,spotify:track:0jUfqdTFe6YacBEMpDjCef,https://open.spotify.com/track/0jUfqdTFe6YacBEMpDjCef,At The BBC,D,major,D major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.461,0.705,5,-6.084,0,0.0825,0.539,1.5e-5,0.605,0.554,103.815,6xdXjusXkedyQKktEgH3D6,https://api.spotify.com/v1/audio-analysis/6xdXjusXkedyQKktEgH3D6,4,,,3,215826,FALSE,https://api.spotify.com/v1/tracks/6xdXjusXkedyQKktEgH3D6,FALSE,Valerie - Live At Porchester Hall / 2007,NA,11,track,spotify:track:6xdXjusXkedyQKktEgH3D6,https://open.spotify.com/track/6xdXjusXkedyQKktEgH3D6,At The BBC,F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.48,0.763,8,-6.449,1,0.13,0.696,2.91e-5,0.969,0.465,109.107,4g3DjDIpi4pujMwQsKwBEP,https://api.spotify.com/v1/audio-analysis/4g3DjDIpi4pujMwQsKwBEP,4,,,3,178880,FALSE,https://api.spotify.com/v1/tracks/4g3DjDIpi4pujMwQsKwBEP,FALSE,Addicted - Live At Porchester Hall / 2007,NA,12,track,spotify:track:4g3DjDIpi4pujMwQsKwBEP,https://open.spotify.com/track/4g3DjDIpi4pujMwQsKwBEP,At The BBC,G#,major,G# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.477,0.603,1,-6.786,0,0.0612,0.726,1.7e-4,0.95,0.428,88.302,4cks9W8cvxx0FnsdLSkqNj,https://api.spotify.com/v1/audio-analysis/4cks9W8cvxx0FnsdLSkqNj,4,,,3,161893,FALSE,https://api.spotify.com/v1/tracks/4cks9W8cvxx0FnsdLSkqNj,FALSE,Me & Mr Jones - Live At Porchester Hall / 2007,NA,13,track,spotify:track:4cks9W8cvxx0FnsdLSkqNj,https://open.spotify.com/track/4cks9W8cvxx0FnsdLSkqNj,At The BBC,C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,741JhzvIOudONDzRg6wuWJ,album,,2021-05-07,2021,day,0.345,0.891,5,-6.641,0,0.32,0.108,0,0.936,0.529,158.359,1FZxXiHj3oOYygBKO8cRcr,https://api.spotify.com/v1/audio-analysis/1FZxXiHj3oOYygBKO8cRcr,4,,,3,171493,FALSE,https://api.spotify.com/v1/tracks/1FZxXiHj3oOYygBKO8cRcr,FALSE,Monkey Man - Live At Porchester Hall / 2007,NA,14,track,spotify:track:1FZxXiHj3oOYygBKO8cRcr,https://open.spotify.com/track/1FZxXiHj3oOYygBKO8cRcr,At The BBC,F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.552,0.0227,3,-24.076,1,0.0585,0.993,0.826,0.108,0.053900000000000003,135.179,0ct0FgC4wIXBNXhxADiOYw,https://api.spotify.com/v1/audio-analysis/0ct0FgC4wIXBNXhxADiOYw,3,,,1,58226,FALSE,https://api.spotify.com/v1/tracks/0ct0FgC4wIXBNXhxADiOYw,FALSE,Opening - Edit,NA,1,track,spotify:track:0ct0FgC4wIXBNXhxADiOYw,https://open.spotify.com/track/0ct0FgC4wIXBNXhxADiOYw,AMY (Original Motion Picture Soundtrack),D#,major,D# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.883,0.458,9,-6.801,0,0.0411,0.0401,4.19e-4,0.0603,0.816,91.426,5LC7nItIEFp4nzdFdEGbf9,https://api.spotify.com/v1/audio-analysis/5LC7nItIEFp4nzdFdEGbf9,4,,,1,214493,FALSE,https://api.spotify.com/v1/tracks/5LC7nItIEFp4nzdFdEGbf9,FALSE,Stronger Than Me,NA,2,track,spotify:track:5LC7nItIEFp4nzdFdEGbf9,https://open.spotify.com/track/5LC7nItIEFp4nzdFdEGbf9,AMY (Original Motion Picture Soundtrack),A,minor,A minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.401,0.39,6,-12.057,0,0.0347,0.938,0.883,0.0866,0.0998,123.895,7phJBl7QDxEurVpW1Nlqf9,https://api.spotify.com/v1/audio-analysis/7phJBl7QDxEurVpW1Nlqf9,3,,,1,173040,FALSE,https://api.spotify.com/v1/tracks/7phJBl7QDxEurVpW1Nlqf9,FALSE,Poetic Finale - Edit,NA,3,track,spotify:track:7phJBl7QDxEurVpW1Nlqf9,https://open.spotify.com/track/7phJBl7QDxEurVpW1Nlqf9,AMY (Original Motion Picture Soundtrack),F#,minor,F# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.578,0.333,11,-10.182,0,0.0971,0.871,0.0017,0.932,0.496,130.486,40GTKaedGtzka8dlV4NuqI,https://api.spotify.com/v1/audio-analysis/40GTKaedGtzka8dlV4NuqI,4,,,1,285453,FALSE,https://api.spotify.com/v1/tracks/40GTKaedGtzka8dlV4NuqI,FALSE,What Is It About Men - Live At North Sea Jazz Festival,NA,4,track,spotify:track:40GTKaedGtzka8dlV4NuqI,https://open.spotify.com/track/40GTKaedGtzka8dlV4NuqI,AMY (Original Motion Picture Soundtrack),B,minor,B minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.15,0.331,7,-15.546,1,0.0393,0.91,0.927,0.109,0.0349,79.772,39zRJRLDREljQNU6LCgMFi,https://api.spotify.com/v1/audio-analysis/39zRJRLDREljQNU6LCgMFi,3,,,1,74320,FALSE,https://api.spotify.com/v1/tracks/39zRJRLDREljQNU6LCgMFi,FALSE,Walk - Edit,NA,5,track,spotify:track:39zRJRLDREljQNU6LCgMFi,https://open.spotify.com/track/39zRJRLDREljQNU6LCgMFi,AMY (Original Motion Picture Soundtrack),G,major,G major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.488,0.431,5,-11.396,1,0.0387,0.463,8.55e-4,0.0901,0.223,156.201,6OaexwzJ7LXIykBzRqpOmD,https://api.spotify.com/v1/audio-analysis/6OaexwzJ7LXIykBzRqpOmD,3,,,1,195306,FALSE,https://api.spotify.com/v1/tracks/6OaexwzJ7LXIykBzRqpOmD,FALSE,Some Unholy War - Down Tempo,NA,6,track,spotify:track:6OaexwzJ7LXIykBzRqpOmD,https://open.spotify.com/track/6OaexwzJ7LXIykBzRqpOmD,AMY (Original Motion Picture Soundtrack),F,major,F major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.207,0.129,0,-27.382,0,0.0462,0.987,0.911,0.0749,0.0394,74.887,34Owb4rZbbKapQ4YFeuhVl,https://api.spotify.com/v1/audio-analysis/34Owb4rZbbKapQ4YFeuhVl,4,,,1,52146,FALSE,https://api.spotify.com/v1/tracks/34Owb4rZbbKapQ4YFeuhVl,FALSE,Holiday Texts - Edit,NA,7,track,spotify:track:34Owb4rZbbKapQ4YFeuhVl,https://open.spotify.com/track/34Owb4rZbbKapQ4YFeuhVl,AMY (Original Motion Picture Soundtrack),C,minor,C minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.7,0.604,3,-17.517,1,0.0831,0.903,0.892,0.112,0.179,154.954,1g57PnPzUoyRtKADFDehCZ,https://api.spotify.com/v1/audio-analysis/1g57PnPzUoyRtKADFDehCZ,3,,,1,104893,FALSE,https://api.spotify.com/v1/tracks/1g57PnPzUoyRtKADFDehCZ,FALSE,Kidnapping Amy,NA,8,track,spotify:track:1g57PnPzUoyRtKADFDehCZ,https://open.spotify.com/track/1g57PnPzUoyRtKADFDehCZ,AMY (Original Motion Picture Soundtrack),D#,major,D# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.525,0.159,4,-15.278,0,0.107,0.726,0,0.363,0.34,82.708,6l15zKFH48Am5AeuCM38o6,https://api.spotify.com/v1/audio-analysis/6l15zKFH48Am5AeuCM38o6,4,,,1,82360,FALSE,https://api.spotify.com/v1/tracks/6l15zKFH48Am5AeuCM38o6,FALSE,Like Smoke,NA,9,track,spotify:track:6l15zKFH48Am5AeuCM38o6,https://open.spotify.com/track/6l15zKFH48Am5AeuCM38o6,AMY (Original Motion Picture Soundtrack),E,minor,E minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.661,0.782,1,-5.998,0,0.134,0.504,0,0.246,0.534,121.512,3GnlbPpTLBwz35Cg5sdxuX,https://api.spotify.com/v1/audio-analysis/3GnlbPpTLBwz35Cg5sdxuX,4,,,1,187200,TRUE,https://api.spotify.com/v1/tracks/3GnlbPpTLBwz35Cg5sdxuX,FALSE,Tears Dry On Their Own,NA,10,track,spotify:track:3GnlbPpTLBwz35Cg5sdxuX,https://open.spotify.com/track/3GnlbPpTLBwz35Cg5sdxuX,AMY (Original Motion Picture Soundtrack),C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.385,0.0207,1,-26.713,0,0.0533,0.966,0.975,0.0951,0.27,77.387,2p6H4OtLnkDDg2gJrWeRkA,https://api.spotify.com/v1/audio-analysis/2p6H4OtLnkDDg2gJrWeRkA,4,,,1,54733,FALSE,https://api.spotify.com/v1/tracks/2p6H4OtLnkDDg2gJrWeRkA,FALSE,Seperacao Fotos - Edit,NA,11,track,spotify:track:2p6H4OtLnkDDg2gJrWeRkA,https://open.spotify.com/track/2p6H4OtLnkDDg2gJrWeRkA,AMY (Original Motion Picture Soundtrack),C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.267,0.542,2,-10.78,1,0.0927,0.201,0.872,0.115,0.112,200.194,0DG31aaspJyTKKQlt8vqgd,https://api.spotify.com/v1/audio-analysis/0DG31aaspJyTKKQlt8vqgd,4,,,1,384106,FALSE,https://api.spotify.com/v1/tracks/0DG31aaspJyTKKQlt8vqgd,FALSE,The Name Of The Wave,NA,12,track,spotify:track:0DG31aaspJyTKKQlt8vqgd,https://open.spotify.com/track/0DG31aaspJyTKKQlt8vqgd,AMY (Original Motion Picture Soundtrack),D,major,D major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.373,0.607,2,-3.664,0,0.0505,0.261,2.74e-6,0.0986,0.225,119.821,4vCyAAMCZZ9r4443negeQO,https://api.spotify.com/v1/audio-analysis/4vCyAAMCZZ9r4443negeQO,4,,,1,229240,TRUE,https://api.spotify.com/v1/tracks/4vCyAAMCZZ9r4443negeQO,FALSE,Back To Black,NA,13,track,spotify:track:4vCyAAMCZZ9r4443negeQO,https://open.spotify.com/track/4vCyAAMCZZ9r4443negeQO,AMY (Original Motion Picture Soundtrack),D,minor,D minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.512,0.144,8,-17.314,1,0.0452,0.979,0.839,0.0593,0.326,135.348,3KKEvnFHvfJ6ubEReS1dmK,https://api.spotify.com/v1/audio-analysis/3KKEvnFHvfJ6ubEReS1dmK,3,,,1,75560,FALSE,https://api.spotify.com/v1/tracks/3KKEvnFHvfJ6ubEReS1dmK,FALSE,Cynthia - Edit,NA,14,track,spotify:track:3KKEvnFHvfJ6ubEReS1dmK,https://open.spotify.com/track/3KKEvnFHvfJ6ubEReS1dmK,AMY (Original Motion Picture Soundtrack),G#,major,G# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.422,0.773,0,-5.508,1,0.0951,0.0413,1.44e-5,0.223,0.425,144.974,7E4dtl5gWROiMKibvedh0i,https://api.spotify.com/v1/audio-analysis/7E4dtl5gWROiMKibvedh0i,4,,,1,221266,FALSE,https://api.spotify.com/v1/tracks/7E4dtl5gWROiMKibvedh0i,FALSE,Rehab - Live On Jools Holland,NA,15,track,spotify:track:7E4dtl5gWROiMKibvedh0i,https://open.spotify.com/track/7E4dtl5gWROiMKibvedh0i,AMY (Original Motion Picture Soundtrack),C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.478,0.221,0,-21.591,0,0.0329,0.961,0.759,0.071,0.057,74.982,7taSJbOhxfc7Vfto48gFKj,https://api.spotify.com/v1/audio-analysis/7taSJbOhxfc7Vfto48gFKj,1,,,1,65453,FALSE,https://api.spotify.com/v1/tracks/7taSJbOhxfc7Vfto48gFKj,FALSE,In The Studio - Edit,NA,16,track,spotify:track:7taSJbOhxfc7Vfto48gFKj,https://open.spotify.com/track/7taSJbOhxfc7Vfto48gFKj,AMY (Original Motion Picture Soundtrack),C,minor,C minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.559,0.13,9,-9.121,0,0.0452,0.95,1.55e-4,0.89,0.287,132.742,1MdMYZN0VnpjTy6nBCM2Qf,https://api.spotify.com/v1/audio-analysis/1MdMYZN0VnpjTy6nBCM2Qf,3,,,1,175986,FALSE,https://api.spotify.com/v1/tracks/1MdMYZN0VnpjTy6nBCM2Qf,FALSE,We're Still Friends - Live At The Union Chapel,NA,17,track,spotify:track:1MdMYZN0VnpjTy6nBCM2Qf,https://open.spotify.com/track/1MdMYZN0VnpjTy6nBCM2Qf,AMY (Original Motion Picture Soundtrack),A,minor,A minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.496,0.0423,6,-27.655,0,0.0569,0.994,0.936,0.0835,0.26,120.012,1w3KJgj6x75PiQm8Ppe0sS,https://api.spotify.com/v1/audio-analysis/1w3KJgj6x75PiQm8Ppe0sS,3,,,1,135253,FALSE,https://api.spotify.com/v1/tracks/1w3KJgj6x75PiQm8Ppe0sS,FALSE,Amy Lives,NA,18,track,spotify:track:1w3KJgj6x75PiQm8Ppe0sS,https://open.spotify.com/track/1w3KJgj6x75PiQm8Ppe0sS,AMY (Original Motion Picture Soundtrack),F#,minor,F# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.511,0.254,0,-9.44,1,0.0331,0.871,1.65e-4,0.0996,0.247,88.421,1DYCdxNAVNUCAOlAi7aP5o,https://api.spotify.com/v1/audio-analysis/1DYCdxNAVNUCAOlAi7aP5o,4,,,1,152093,FALSE,https://api.spotify.com/v1/tracks/1DYCdxNAVNUCAOlAi7aP5o,FALSE,Love Is A Losing Game - Live At The Mercury Music Awards,NA,19,track,spotify:track:1DYCdxNAVNUCAOlAi7aP5o,https://open.spotify.com/track/1DYCdxNAVNUCAOlAi7aP5o,AMY (Original Motion Picture Soundtrack),C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.188,0.332,10,-15.618,0,0.0421,0.95,0.973,0.109,0.057,74.419,5StnpUPRsALrz6osNM2Bsa,https://api.spotify.com/v1/audio-analysis/5StnpUPRsALrz6osNM2Bsa,3,,,1,64800,FALSE,https://api.spotify.com/v1/tracks/5StnpUPRsALrz6osNM2Bsa,FALSE,Arrested - Edit,NA,20,track,spotify:track:5StnpUPRsALrz6osNM2Bsa,https://open.spotify.com/track/5StnpUPRsALrz6osNM2Bsa,AMY (Original Motion Picture Soundtrack),A#,minor,A# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.255,0.267,1,-11.902,1,0.0324,0.863,6.55e-5,0.126,0.199,60.763,12TAfwmQSufwlerS9UJaQB,https://api.spotify.com/v1/audio-analysis/12TAfwmQSufwlerS9UJaQB,4,,,1,203546,FALSE,https://api.spotify.com/v1/tracks/12TAfwmQSufwlerS9UJaQB,FALSE,Body And Soul,NA,21,track,spotify:track:12TAfwmQSufwlerS9UJaQB,https://open.spotify.com/track/12TAfwmQSufwlerS9UJaQB,AMY (Original Motion Picture Soundtrack),C#,major,C# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.47,0.256,0,-15.181,0,0.0281,0.965,0.948,0.0832,0.0604,135.021,6sugep3RYUZ6G67iANvfr7,https://api.spotify.com/v1/audio-analysis/6sugep3RYUZ6G67iANvfr7,3,,,1,169173,FALSE,https://api.spotify.com/v1/tracks/6sugep3RYUZ6G67iANvfr7,FALSE,Amy Forever,NA,22,track,spotify:track:6sugep3RYUZ6G67iANvfr7,https://open.spotify.com/track/6sugep3RYUZ6G67iANvfr7,AMY (Original Motion Picture Soundtrack),C,minor,C minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,5Fb59VtYjJNTXPcNGpoDU3,album,,2015-10-30,2015,day,0.758,0.304,5,-8.092,0,0.0373,0.734,3.72e-6,0.167,0.647,96.117,5it9RIRXDwiLpJKdce6Z7e,https://api.spotify.com/v1/audio-analysis/5it9RIRXDwiLpJKdce6Z7e,4,,,1,232120,FALSE,https://api.spotify.com/v1/tracks/5it9RIRXDwiLpJKdce6Z7e,FALSE,Valerie - BBC Radio 1 Live Lounge,NA,23,track,spotify:track:5it9RIRXDwiLpJKdce6Z7e,https://open.spotify.com/track/5it9RIRXDwiLpJKdce6Z7e,AMY (Original Motion Picture Soundtrack),F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.705,0.634,5,-6.083,0,0.0282,0.0405,3.53e-5,0.349,0.639,98.008,4NDpn6yfD5aqafYWFEaJDz,https://api.spotify.com/v1/audio-analysis/4NDpn6yfD5aqafYWFEaJDz,4,,,1,169373,FALSE,https://api.spotify.com/v1/tracks/4NDpn6yfD5aqafYWFEaJDz,FALSE,Our Day Will Come,NA,1,track,spotify:track:4NDpn6yfD5aqafYWFEaJDz,https://open.spotify.com/track/4NDpn6yfD5aqafYWFEaJDz,Lioness: Hidden Treasures,F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.461,0.633,11,-6.057,0,0.0333,0.656,0,0.205,0.63,82.586,77RrNbeBUXb1Dtewp0HQuR,https://api.spotify.com/v1/audio-analysis/77RrNbeBUXb1Dtewp0HQuR,4,,,1,213586,FALSE,https://api.spotify.com/v1/tracks/77RrNbeBUXb1Dtewp0HQuR,FALSE,Between The Cheats,NA,2,track,spotify:track:77RrNbeBUXb1Dtewp0HQuR,https://open.spotify.com/track/77RrNbeBUXb1Dtewp0HQuR,Lioness: Hidden Treasures,B,minor,B minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.439,0.795,4,-4.644,1,0.0384,0.306,0,0.179,0.428,169.975,0IEGGuRHP8ylbCXausRF9p,https://api.spotify.com/v1/audio-analysis/0IEGGuRHP8ylbCXausRF9p,4,,,1,248093,TRUE,https://api.spotify.com/v1/tracks/0IEGGuRHP8ylbCXausRF9p,FALSE,Tears Dry - Original Version,NA,3,track,spotify:track:0IEGGuRHP8ylbCXausRF9p,https://open.spotify.com/track/0IEGGuRHP8ylbCXausRF9p,Lioness: Hidden Treasures,E,major,E major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.587,0.624,0,-4.657,1,0.025,0.161,1.91e-4,0.118,0.251,93.428,0LbK1bodGLc9xmV1cS9jvL,https://api.spotify.com/v1/audio-analysis/0LbK1bodGLc9xmV1cS9jvL,4,,,1,262813,FALSE,https://api.spotify.com/v1/tracks/0LbK1bodGLc9xmV1cS9jvL,FALSE,Will You Still Love Me Tomorrow? - 2011,NA,4,track,spotify:track:0LbK1bodGLc9xmV1cS9jvL,https://open.spotify.com/track/0LbK1bodGLc9xmV1cS9jvL,Lioness: Hidden Treasures,C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.637,0.866,7,-3.979,0,0.0868,0.154,0,0.181,0.336,97.897,2r45rookK2awLkiOHOef1o,https://api.spotify.com/v1/audio-analysis/2r45rookK2awLkiOHOef1o,4,,,1,278000,TRUE,https://api.spotify.com/v1/tracks/2r45rookK2awLkiOHOef1o,FALSE,Like Smoke,NA,5,track,spotify:track:2r45rookK2awLkiOHOef1o,https://open.spotify.com/track/2r45rookK2awLkiOHOef1o,Lioness: Hidden Treasures,G,minor,G minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.665,0.827,5,-4.429,0,0.0348,0.0127,7.62e-4,0.0815,0.705,100.657,1om5SLZiUA9DVEnjcZBBzA,https://api.spotify.com/v1/audio-analysis/1om5SLZiUA9DVEnjcZBBzA,4,,,1,239906,FALSE,https://api.spotify.com/v1/tracks/1om5SLZiUA9DVEnjcZBBzA,FALSE,Valerie - '68 Version,NA,6,track,spotify:track:1om5SLZiUA9DVEnjcZBBzA,https://open.spotify.com/track/1om5SLZiUA9DVEnjcZBBzA,Lioness: Hidden Treasures,F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.696,0.616,9,-5.144,0,0.047,0.25,4.35e-6,0.107,0.66,138.059,7F5rIyOI88zk36AiBXC8xq,https://api.spotify.com/v1/audio-analysis/7F5rIyOI88zk36AiBXC8xq,4,,,1,166960,FALSE,https://api.spotify.com/v1/tracks/7F5rIyOI88zk36AiBXC8xq,FALSE,The Girl From Ipanema,NA,7,track,spotify:track:7F5rIyOI88zk36AiBXC8xq,https://open.spotify.com/track/7F5rIyOI88zk36AiBXC8xq,Lioness: Hidden Treasures,A,minor,A minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.624,0.488,4,-8.258,0,0.0584,0.375,9.63e-5,0.339,0.273,84.218,4d0dY3ZeMdoYrD5YmdFvWZ,https://api.spotify.com/v1/audio-analysis/4d0dY3ZeMdoYrD5YmdFvWZ,4,,,1,230853,TRUE,https://api.spotify.com/v1/tracks/4d0dY3ZeMdoYrD5YmdFvWZ,FALSE,Half Time,NA,8,track,spotify:track:4d0dY3ZeMdoYrD5YmdFvWZ,https://open.spotify.com/track/4d0dY3ZeMdoYrD5YmdFvWZ,Lioness: Hidden Treasures,E,minor,E minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.454,0.378,9,-8.986,1,0.061,0.572,5.78e-6,0.0956,0.272,169.757,2G4rsUWjuBb6vPrUm01etb,https://api.spotify.com/v1/audio-analysis/2G4rsUWjuBb6vPrUm01etb,3,,,1,264266,FALSE,https://api.spotify.com/v1/tracks/2G4rsUWjuBb6vPrUm01etb,FALSE,Wake Up Alone - Original Recording,NA,9,track,spotify:track:2G4rsUWjuBb6vPrUm01etb,https://open.spotify.com/track/2G4rsUWjuBb6vPrUm01etb,Lioness: Hidden Treasures,A,major,A major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.601,0.759,8,-6.934,0,0.0557,0.101,0,0.213,0.581,97.501,7BizTaPDXSWVi8vdGeFg0W,https://api.spotify.com/v1/audio-analysis/7BizTaPDXSWVi8vdGeFg0W,4,,,1,176293,FALSE,https://api.spotify.com/v1/tracks/7BizTaPDXSWVi8vdGeFg0W,FALSE,"Best Friends, Right?",NA,10,track,spotify:track:7BizTaPDXSWVi8vdGeFg0W,https://open.spotify.com/track/7BizTaPDXSWVi8vdGeFg0W,Lioness: Hidden Treasures,G#,minor,G# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.366,0.327,1,-9.05,1,0.0287,0.848,4.37e-5,0.158,0.162,64.861,4AyULNTWuCtbpxzY2qVowJ,https://api.spotify.com/v1/audio-analysis/4AyULNTWuCtbpxzY2qVowJ,4,,,1,198813,FALSE,https://api.spotify.com/v1/tracks/4AyULNTWuCtbpxzY2qVowJ,FALSE,Body And Soul,NA,11,track,spotify:track:4AyULNTWuCtbpxzY2qVowJ,https://open.spotify.com/track/4AyULNTWuCtbpxzY2qVowJ,Lioness: Hidden Treasures,C#,major,C# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,4xdRjOhY9NHmMpI7U3e2c3,album,,2011-01-01,2011,day,0.524,0.542,8,-7.516,1,0.0513,0.232,3.13e-5,0.327,0.362,119.979,4fdPpmqn1eYLyWRcxZmx2D,https://api.spotify.com/v1/audio-analysis/4fdPpmqn1eYLyWRcxZmx2D,4,,,1,269373,FALSE,https://api.spotify.com/v1/tracks/4fdPpmqn1eYLyWRcxZmx2D,FALSE,A Song For You,NA,12,track,spotify:track:4fdPpmqn1eYLyWRcxZmx2D,https://open.spotify.com/track/4fdPpmqn1eYLyWRcxZmx2D,Lioness: Hidden Treasures,G#,major,G# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.691,0.477,8,-6.566,0,0.0453,0.348,0,0.121,0.154,116.044,2rLNJjLmFVTZg1APQ4RgnQ,https://api.spotify.com/v1/audio-analysis/2rLNJjLmFVTZg1APQ4RgnQ,4,,,1,204200,FALSE,https://api.spotify.com/v1/tracks/2rLNJjLmFVTZg1APQ4RgnQ,FALSE,Take The Box - Demo,NA,1,track,spotify:track:2rLNJjLmFVTZg1APQ4RgnQ,https://open.spotify.com/track/2rLNJjLmFVTZg1APQ4RgnQ,Frank,G#,minor,G# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.541,0.2,11,-8.917,0,0.0554,0.863,0,0.106,0.276,79.845,3xmra5gBnWr0U4DK3v57F9,https://api.spotify.com/v1/audio-analysis/3xmra5gBnWr0U4DK3v57F9,4,,,1,132066,FALSE,https://api.spotify.com/v1/tracks/3xmra5gBnWr0U4DK3v57F9,FALSE,I Heard Love Is Blind - Demo,NA,2,track,spotify:track:3xmra5gBnWr0U4DK3v57F9,https://open.spotify.com/track/3xmra5gBnWr0U4DK3v57F9,Frank,B,minor,B minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.516,0.249,5,-11.929,1,0.0338,0.859,1.13e-4,0.107,0.131,109.077,6NTYTe9TefEXD65luwjxal,https://api.spotify.com/v1/audio-analysis/6NTYTe9TefEXD65luwjxal,4,,,1,268440,FALSE,https://api.spotify.com/v1/tracks/6NTYTe9TefEXD65luwjxal,FALSE,Someone To Watch Over Me - Demo,NA,3,track,spotify:track:6NTYTe9TefEXD65luwjxal,https://open.spotify.com/track/6NTYTe9TefEXD65luwjxal,Frank,F,major,F major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.569,0.198,8,-8.989,0,0.0566,0.78,0,0.174,0.294,71.557,2rgemKOXUQGeIABEgwRXAa,https://api.spotify.com/v1/audio-analysis/2rgemKOXUQGeIABEgwRXAa,4,,,1,283746,FALSE,https://api.spotify.com/v1/tracks/2rgemKOXUQGeIABEgwRXAa,FALSE,What It Is - Demo,NA,4,track,spotify:track:2rgemKOXUQGeIABEgwRXAa,https://open.spotify.com/track/2rgemKOXUQGeIABEgwRXAa,Frank,G#,minor,G# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.482,0.332,5,-9.473,0,0.0533,0.575,6.04e-6,0.981,0.563,111.422,3FVGnrAQYEwQ2TNMcNFxl0,https://api.spotify.com/v1/audio-analysis/3FVGnrAQYEwQ2TNMcNFxl0,3,,,1,201626,FALSE,https://api.spotify.com/v1/tracks/3FVGnrAQYEwQ2TNMcNFxl0,FALSE,"Teach Me Tonight - Live At The Hootenanny, London / 2004",NA,5,track,spotify:track:3FVGnrAQYEwQ2TNMcNFxl0,https://open.spotify.com/track/3FVGnrAQYEwQ2TNMcNFxl0,Frank,F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.48,0.803,8,-7.232,0,0.0705,0.0144,0.0249,0.12,0.625,182.071,3JpHeT83VlL2sYNvvciNGw,https://api.spotify.com/v1/audio-analysis/3JpHeT83VlL2sYNvvciNGw,4,,,1,227973,FALSE,https://api.spotify.com/v1/tracks/3JpHeT83VlL2sYNvvciNGw,FALSE,'Round Midnight,NA,6,track,spotify:track:3JpHeT83VlL2sYNvvciNGw,https://open.spotify.com/track/3JpHeT83VlL2sYNvvciNGw,Frank,G#,minor,G# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.557,0.56,4,-5.695,1,0.0343,0.54,3.01e-6,0.228,0.206,82.093,3Z5piVCYtXkfz2DEwqBBnt,https://api.spotify.com/v1/audio-analysis/3Z5piVCYtXkfz2DEwqBBnt,4,,,1,218533,FALSE,https://api.spotify.com/v1/tracks/3Z5piVCYtXkfz2DEwqBBnt,FALSE,Fool's Gold,NA,7,track,spotify:track:3Z5piVCYtXkfz2DEwqBBnt,https://open.spotify.com/track/3Z5piVCYtXkfz2DEwqBBnt,Frank,E,major,E major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.793,0.461,9,-8.288,0,0.103,0.283,3.36e-5,0.969,0.71,91.067,2Ed07HGaDuZGrDYAFG1BdC,https://api.spotify.com/v1/audio-analysis/2Ed07HGaDuZGrDYAFG1BdC,4,,,1,231546,FALSE,https://api.spotify.com/v1/tracks/2Ed07HGaDuZGrDYAFG1BdC,FALSE,"Stronger Than Me - Later With Jools Holland, London / 2003",NA,8,track,spotify:track:2Ed07HGaDuZGrDYAFG1BdC,https://open.spotify.com/track/2Ed07HGaDuZGrDYAFG1BdC,Frank,A,minor,A minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.722,0.414,2,-9.291,1,0.081,0.229,1.2e-6,0.974,0.439,74.072,27w2s06PaPuFOHsNn1m3xP,https://api.spotify.com/v1/audio-analysis/27w2s06PaPuFOHsNn1m3xP,4,,,1,147226,FALSE,https://api.spotify.com/v1/tracks/27w2s06PaPuFOHsNn1m3xP,FALSE,I Heard Love Is Blind - Live,NA,9,track,spotify:track:27w2s06PaPuFOHsNn1m3xP,https://open.spotify.com/track/27w2s06PaPuFOHsNn1m3xP,Frank,D,major,D major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.574,0.403,8,-7.703,0,0.0709,0.21,0,0.947,0.356,119.881,6adICOPagYgADiqjZ1pXaf,https://api.spotify.com/v1/audio-analysis/6adICOPagYgADiqjZ1pXaf,4,,,1,211946,FALSE,https://api.spotify.com/v1/tracks/6adICOPagYgADiqjZ1pXaf,FALSE,"Take The Box - Live At Concorde, Brighton / 2008",NA,10,track,spotify:track:6adICOPagYgADiqjZ1pXaf,https://open.spotify.com/track/6adICOPagYgADiqjZ1pXaf,Frank,G#,minor,G# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.456,0.732,10,-7.273,0,0.0607,0.0513,1.18e-5,0.987,0.687,128.04,0yh9uGMsGZcjJIcC5Wex5Q,https://api.spotify.com/v1/audio-analysis/0yh9uGMsGZcjJIcC5Wex5Q,5,,,1,335760,FALSE,https://api.spotify.com/v1/tracks/0yh9uGMsGZcjJIcC5Wex5Q,FALSE,In My Bed - Live At Concorde - Brighton/2008,NA,11,track,spotify:track:0yh9uGMsGZcjJIcC5Wex5Q,https://open.spotify.com/track/0yh9uGMsGZcjJIcC5Wex5Q,Frank,A#,minor,A# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.396,0.73,7,-6.17,0,0.268,0.101,0,0.965,0.585,202.013,2YSf96zfNrRJXQJrZm8aJp,https://api.spotify.com/v1/audio-analysis/2YSf96zfNrRJXQJrZm8aJp,4,,,1,243533,FALSE,https://api.spotify.com/v1/tracks/2YSf96zfNrRJXQJrZm8aJp,FALSE,"Mr Magic (Through The Smoke) - Live, Janice Long Session, Miami/2008",NA,12,track,spotify:track:2YSf96zfNrRJXQJrZm8aJp,https://open.spotify.com/track/2YSf96zfNrRJXQJrZm8aJp,Frank,G,minor,G minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.444,0.256,5,-10.109,1,0.0541,0.782,4.12e-5,0.961,0.314,144.507,0kpPxQjVSor94FMvKwlI5G,https://api.spotify.com/v1/audio-analysis/0kpPxQjVSor94FMvKwlI5G,4,,,1,156960,FALSE,https://api.spotify.com/v1/tracks/0kpPxQjVSor94FMvKwlI5G,FALSE,"(There Is) No Greater Love - Live, Janice Long Session, Miami/2008",NA,13,track,spotify:track:0kpPxQjVSor94FMvKwlI5G,https://open.spotify.com/track/0kpPxQjVSor94FMvKwlI5G,Frank,F,major,F major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.865,0.917,2,-7.348,1,0.0677,0.0125,3.94e-4,0.19,0.751,132.05,2ZaAlV7GCjWl8I2igCCEiF,https://api.spotify.com/v1/audio-analysis/2ZaAlV7GCjWl8I2igCCEiF,4,,,1,353173,TRUE,https://api.spotify.com/v1/tracks/2ZaAlV7GCjWl8I2igCCEiF,FALSE,Fuck Me Pumps - MJ Cole Remix,NA,14,track,spotify:track:2ZaAlV7GCjWl8I2igCCEiF,https://open.spotify.com/track/2ZaAlV7GCjWl8I2igCCEiF,Frank,D,major,D major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.859,0.762,8,-9.851,0,0.068,0.0744,0.161,0.154,0.698,123.986,5BKF55fIGu4kObMi1uf2xb,https://api.spotify.com/v1/audio-analysis/5BKF55fIGu4kObMi1uf2xb,4,,,1,466786,FALSE,https://api.spotify.com/v1/tracks/5BKF55fIGu4kObMi1uf2xb,FALSE,Take The Box - Seijis Buggin' Mix,NA,15,track,spotify:track:5BKF55fIGu4kObMi1uf2xb,https://open.spotify.com/track/5BKF55fIGu4kObMi1uf2xb,Frank,G#,minor,G# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.769,0.548,10,-6.201,0,0.0847,0.00406,0.14,0.313,0.605,91.415,6F8p3QBRcjmTZhfIzq1rMr,https://api.spotify.com/v1/audio-analysis/6F8p3QBRcjmTZhfIzq1rMr,4,,,1,222080,FALSE,https://api.spotify.com/v1/tracks/6F8p3QBRcjmTZhfIzq1rMr,FALSE,Stronger Than Me - Harmonic 33 Remix,NA,16,track,spotify:track:6F8p3QBRcjmTZhfIzq1rMr,https://open.spotify.com/track/6F8p3QBRcjmTZhfIzq1rMr,Frank,A#,minor,A# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,2poSmwqkBX2RE1Z7eQoU5c,album,,2008-01-01,2008,day,0.751,0.767,10,-3.173,0,0.0308,0.0181,3.28e-4,0.319,0.851,96.358,6lVj1zzqaLQjVqXY6FacpK,https://api.spotify.com/v1/audio-analysis/6lVj1zzqaLQjVqXY6FacpK,4,,,1,276440,FALSE,https://api.spotify.com/v1/tracks/6lVj1zzqaLQjVqXY6FacpK,FALSE,In My Bed - CJ Mix,NA,17,track,spotify:track:6lVj1zzqaLQjVqXY6FacpK,https://open.spotify.com/track/6lVj1zzqaLQjVqXY6FacpK,Frank,A#,minor,A# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.407,0.558,0,-13.609,1,0.0552,0.0541,1.51e-6,0.34,0.777,71.815,3N4DI1vuTSX1tz7fa2NQZw,https://api.spotify.com/v1/audio-analysis/3N4DI1vuTSX1tz7fa2NQZw,4,,,1,214946,FALSE,https://api.spotify.com/v1/tracks/3N4DI1vuTSX1tz7fa2NQZw,FALSE,Rehab,NA,1,track,spotify:track:3N4DI1vuTSX1tz7fa2NQZw,https://open.spotify.com/track/3N4DI1vuTSX1tz7fa2NQZw,Back To Black (Deluxe Edition),C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.694,0.496,9,-14.222,1,0.0329,0.0139,0.00356,0.0644,0.799,103.372,0DMRKqrpd0QO4RWiEdMib0,https://api.spotify.com/v1/audio-analysis/0DMRKqrpd0QO4RWiEdMib0,4,,,1,257186,FALSE,https://api.spotify.com/v1/tracks/0DMRKqrpd0QO4RWiEdMib0,FALSE,You Know I'm No Good,NA,2,track,spotify:track:0DMRKqrpd0QO4RWiEdMib0,https://open.spotify.com/track/0DMRKqrpd0QO4RWiEdMib0,Back To Black (Deluxe Edition),A,major,A major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.583,0.486,4,-13.165,1,0.0759,0.518,0,0.0665,0.513,87.837,0RfzQhbvtn5lOaKdhpAni7,https://api.spotify.com/v1/audio-analysis/0RfzQhbvtn5lOaKdhpAni7,4,,,1,153173,TRUE,https://api.spotify.com/v1/tracks/0RfzQhbvtn5lOaKdhpAni7,FALSE,Me & Mr Jones,NA,3,track,spotify:track:0RfzQhbvtn5lOaKdhpAni7,https://open.spotify.com/track/0RfzQhbvtn5lOaKdhpAni7,Back To Black (Deluxe Edition),E,major,E major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.749,0.462,9,-15.449,1,0.0452,0.0417,0.0262,0.2,0.564,95.487,2WsHmmKc1U4IbTzeGUu1Ks,https://api.spotify.com/v1/audio-analysis/2WsHmmKc1U4IbTzeGUu1Ks,4,,,1,193306,TRUE,https://api.spotify.com/v1/tracks/2WsHmmKc1U4IbTzeGUu1Ks,FALSE,Just Friends,NA,4,track,spotify:track:2WsHmmKc1U4IbTzeGUu1Ks,https://open.spotify.com/track/2WsHmmKc1U4IbTzeGUu1Ks,Back To Black (Deluxe Edition),A,major,A major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.403,0.422,7,-13.964,0,0.0373,0.134,2.05e-5,0.0861,0.378,122.728,3FAclTFfvUuQYnEsptbK8w,https://api.spotify.com/v1/audio-analysis/3FAclTFfvUuQYnEsptbK8w,4,,,1,241293,TRUE,https://api.spotify.com/v1/tracks/3FAclTFfvUuQYnEsptbK8w,FALSE,Back To Black,NA,5,track,spotify:track:3FAclTFfvUuQYnEsptbK8w,https://open.spotify.com/track/3FAclTFfvUuQYnEsptbK8w,Back To Black (Deluxe Edition),G,minor,G minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.484,0.293,0,-16.544,1,0.0311,0.337,0.00627,0.146,0.562,165.008,3uliGwmB52ZA7brgpZMzyH,https://api.spotify.com/v1/audio-analysis/3uliGwmB52ZA7brgpZMzyH,4,,,1,155413,FALSE,https://api.spotify.com/v1/tracks/3uliGwmB52ZA7brgpZMzyH,FALSE,Love Is A Losing Game,NA,6,track,spotify:track:3uliGwmB52ZA7brgpZMzyH,https://open.spotify.com/track/3uliGwmB52ZA7brgpZMzyH,Back To Black (Deluxe Edition),C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.634,0.543,1,-13.391,0,0.181,0.525,0,0.232,0.467,121.557,7MDfN1ldfTMtuXXdVz2Pzc,https://api.spotify.com/v1/audio-analysis/7MDfN1ldfTMtuXXdVz2Pzc,4,,,1,186440,TRUE,https://api.spotify.com/v1/tracks/7MDfN1ldfTMtuXXdVz2Pzc,FALSE,Tears Dry On Their Own,NA,7,track,spotify:track:7MDfN1ldfTMtuXXdVz2Pzc,https://open.spotify.com/track/7MDfN1ldfTMtuXXdVz2Pzc,Back To Black (Deluxe Edition),C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.583,0.271,11,-15.866,0,0.0299,0.545,0,0.148,0.235,102.678,2pxCOdnHEZZ3A1XRNxjc1v,https://api.spotify.com/v1/audio-analysis/2pxCOdnHEZZ3A1XRNxjc1v,3,,,1,222000,FALSE,https://api.spotify.com/v1/tracks/2pxCOdnHEZZ3A1XRNxjc1v,FALSE,Wake Up Alone,NA,8,track,spotify:track:2pxCOdnHEZZ3A1XRNxjc1v,https://open.spotify.com/track/2pxCOdnHEZZ3A1XRNxjc1v,Back To Black (Deluxe Edition),B,minor,B minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.489,0.435,9,-15.558,0,0.163,0.0856,3.91e-5,0.113,0.455,175.865,5DEitTu33CUjozBijXiLNb,https://api.spotify.com/v1/audio-analysis/5DEitTu33CUjozBijXiLNb,4,,,1,142693,FALSE,https://api.spotify.com/v1/tracks/5DEitTu33CUjozBijXiLNb,FALSE,Some Unholy War,NA,9,track,spotify:track:5DEitTu33CUjozBijXiLNb,https://open.spotify.com/track/5DEitTu33CUjozBijXiLNb,Back To Black (Deluxe Edition),A,minor,A minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.626,0.504,11,-14.978,1,0.073,0.021,0.00843,0.0684,0.713,98.391,3eVo0wD4kGwF3gshtecZso,https://api.spotify.com/v1/audio-analysis/3eVo0wD4kGwF3gshtecZso,4,,,1,166400,FALSE,https://api.spotify.com/v1/tracks/3eVo0wD4kGwF3gshtecZso,FALSE,He Can Only Hold Her,NA,10,track,spotify:track:3eVo0wD4kGwF3gshtecZso,https://open.spotify.com/track/3eVo0wD4kGwF3gshtecZso,Back To Black (Deluxe Edition),B,major,B major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.779,0.513,8,-14.444,1,0.0506,0.00191,0.017,0.102,0.788,107.988,7EzafK3PjsWEICREII1WXg,https://api.spotify.com/v1/audio-analysis/7EzafK3PjsWEICREII1WXg,4,,,1,165120,FALSE,https://api.spotify.com/v1/tracks/7EzafK3PjsWEICREII1WXg,FALSE,Addicted,NA,11,track,spotify:track:7EzafK3PjsWEICREII1WXg,https://open.spotify.com/track/7EzafK3PjsWEICREII1WXg,Back To Black (Deluxe Edition),G#,major,G# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.772,0.371,5,-5.743,0,0.0348,0.744,0,0.167,0.684,96.574,6nLvaCZFR1wEzW3sIKpsnr,https://api.spotify.com/v1/audio-analysis/6nLvaCZFR1wEzW3sIKpsnr,4,,,2,233733,FALSE,https://api.spotify.com/v1/tracks/6nLvaCZFR1wEzW3sIKpsnr,FALSE,"Valerie - Live At BBC Radio 1 Live Lounge, London / 2007",NA,1,track,spotify:track:6nLvaCZFR1wEzW3sIKpsnr,https://open.spotify.com/track/6nLvaCZFR1wEzW3sIKpsnr,Back To Black (Deluxe Edition),F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.641,0.609,7,-4.596,1,0.0638,0.163,0,0.0811,0.696,87.181,5kG1ARHk8dli0bKiMN2oE6,https://api.spotify.com/v1/audio-analysis/5kG1ARHk8dli0bKiMN2oE6,4,,,2,228853,FALSE,https://api.spotify.com/v1/tracks/5kG1ARHk8dli0bKiMN2oE6,FALSE,Cupid - Deluxe Edition Version,NA,2,track,spotify:track:5kG1ARHk8dli0bKiMN2oE6,https://open.spotify.com/track/5kG1ARHk8dli0bKiMN2oE6,Back To Black (Deluxe Edition),G,major,G major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.613,0.852,10,-2.83,1,0.0709,0.236,0,0.102,0.923,146.523,52fqquVYihRW17ySEcy5mA,https://api.spotify.com/v1/audio-analysis/52fqquVYihRW17ySEcy5mA,4,,,2,176320,FALSE,https://api.spotify.com/v1/tracks/52fqquVYihRW17ySEcy5mA,FALSE,Monkey Man,NA,3,track,spotify:track:52fqquVYihRW17ySEcy5mA,https://open.spotify.com/track/52fqquVYihRW17ySEcy5mA,Back To Black (Deluxe Edition),A#,major,A# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.54,0.505,5,-8.325,1,0.0348,0.491,9.46e-5,0.0893,0.27,78.186,5OlM5krdWS4ivOGVz3X8c0,https://api.spotify.com/v1/audio-analysis/5OlM5krdWS4ivOGVz3X8c0,3,,,2,196080,FALSE,https://api.spotify.com/v1/tracks/5OlM5krdWS4ivOGVz3X8c0,FALSE,Some Unholy War - Down Tempo,NA,4,track,spotify:track:5OlM5krdWS4ivOGVz3X8c0,https://open.spotify.com/track/5OlM5krdWS4ivOGVz3X8c0,Back To Black (Deluxe Edition),F,major,F major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.383,0.909,10,-1.412,1,0.111,0.223,0,0.387,0.721,146.169,6huXEunO4jEFn9Q7WLoMZs,https://api.spotify.com/v1/audio-analysis/6huXEunO4jEFn9Q7WLoMZs,4,,,2,215000,FALSE,https://api.spotify.com/v1/tracks/6huXEunO4jEFn9Q7WLoMZs,FALSE,Hey Little Rich Girl,NA,5,track,spotify:track:6huXEunO4jEFn9Q7WLoMZs,https://open.spotify.com/track/6huXEunO4jEFn9Q7WLoMZs,Back To Black (Deluxe Edition),A#,major,A# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.787,0.567,0,-4.767,1,0.179,0.0693,0,0.161,0.917,133.914,7ee1XEOzZgzTQWNaiHZvKY,https://api.spotify.com/v1/audio-analysis/7ee1XEOzZgzTQWNaiHZvKY,4,,,2,153413,FALSE,https://api.spotify.com/v1/tracks/7ee1XEOzZgzTQWNaiHZvKY,FALSE,You're Wondering Now,NA,6,track,spotify:track:7ee1XEOzZgzTQWNaiHZvKY,https://open.spotify.com/track/7ee1XEOzZgzTQWNaiHZvKY,Back To Black (Deluxe Edition),C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.479,0.196,7,-8.667,0,0.0476,0.934,1.22e-4,0.0827,0.366,170.407,1Nz1PPjU3ONNEgjg8Pkppg,https://api.spotify.com/v1/audio-analysis/1Nz1PPjU3ONNEgjg8Pkppg,3,,,2,145066,FALSE,https://api.spotify.com/v1/tracks/1Nz1PPjU3ONNEgjg8Pkppg,FALSE,To Know Him Is To Love Him - Live,NA,7,track,spotify:track:1Nz1PPjU3ONNEgjg8Pkppg,https://open.spotify.com/track/1Nz1PPjU3ONNEgjg8Pkppg,Back To Black (Deluxe Edition),G,minor,G minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0E4xv5gPjykrwBgBZzI8XG,album,,2006,2006,year,0.592,0.0393,0,-10.944,1,0.0455,0.966,6.77e-5,0.157,0.208,113.296,113iEwaI5Se6Q287iXOIJy,https://api.spotify.com/v1/audio-analysis/113iEwaI5Se6Q287iXOIJy,4,,,2,223893,FALSE,https://api.spotify.com/v1/tracks/113iEwaI5Se6Q287iXOIJy,FALSE,Love Is A Losing Game - Original Demo,NA,8,track,spotify:track:113iEwaI5Se6Q287iXOIJy,https://open.spotify.com/track/113iEwaI5Se6Q287iXOIJy,Back To Black (Deluxe Edition),C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.647,0.0141,8,-20.468,1,0.0514,0.852,0.0243,0.114,0.649,91.415,0GtwAiRwzhVIBnFWQQgTU5,https://api.spotify.com/v1/audio-analysis/0GtwAiRwzhVIBnFWQQgTU5,1,,,1,22800,FALSE,https://api.spotify.com/v1/tracks/0GtwAiRwzhVIBnFWQQgTU5,FALSE,Intro,NA,1,track,spotify:track:0GtwAiRwzhVIBnFWQQgTU5,https://open.spotify.com/track/0GtwAiRwzhVIBnFWQQgTU5,Frank (US Clean e-Version),G#,major,G# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.884,0.51,9,-4.679,0,0.0392,0.0436,3.33e-4,0.0615,0.855,91.453,5FNDpQSkgFiRdUKGfagIRJ,https://api.spotify.com/v1/audio-analysis/5FNDpQSkgFiRdUKGfagIRJ,4,,,1,211986,FALSE,https://api.spotify.com/v1/tracks/5FNDpQSkgFiRdUKGfagIRJ,FALSE,Stronger Than Me,NA,2,track,spotify:track:5FNDpQSkgFiRdUKGfagIRJ,https://open.spotify.com/track/5FNDpQSkgFiRdUKGfagIRJ,Frank (US Clean e-Version),A,minor,A minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.754,0.623,0,-5.999,0,0.0507,0.539,0,0.114,0.325,99.988,7pI0ZeIVWiH35cUwzWIWM9,https://api.spotify.com/v1/audio-analysis/7pI0ZeIVWiH35cUwzWIWM9,4,,,1,318333,FALSE,https://api.spotify.com/v1/tracks/7pI0ZeIVWiH35cUwzWIWM9,FALSE,You Sent Me Flying,NA,3,track,spotify:track:7pI0ZeIVWiH35cUwzWIWM9,https://open.spotify.com/track/7pI0ZeIVWiH35cUwzWIWM9,Frank (US Clean e-Version),C,minor,C minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.669,0.63,9,-10.625,1,0.532,0.375,1.59e-6,0.446,0.855,172.097,2POV95aTLpGmjDWRVZabGM,https://api.spotify.com/v1/audio-analysis/2POV95aTLpGmjDWRVZabGM,4,,,1,92413,FALSE,https://api.spotify.com/v1/tracks/2POV95aTLpGmjDWRVZabGM,FALSE,Cherry,NA,4,track,spotify:track:2POV95aTLpGmjDWRVZabGM,https://open.spotify.com/track/2POV95aTLpGmjDWRVZabGM,Frank (US Clean e-Version),A,major,A major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.846,0.669,5,-6.44,0,0.0736,0.0372,0.00266,0.0812,0.756,140.686,0UVTzpqtuQpuZCd7ZeZeTj,https://api.spotify.com/v1/audio-analysis/0UVTzpqtuQpuZCd7ZeZeTj,4,,,1,183120,FALSE,https://api.spotify.com/v1/tracks/0UVTzpqtuQpuZCd7ZeZeTj,FALSE,Know You Now,NA,5,track,spotify:track:0UVTzpqtuQpuZCd7ZeZeTj,https://open.spotify.com/track/0UVTzpqtuQpuZCd7ZeZeTj,Frank (US Clean e-Version),F,minor,F minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.9,0.319,7,-13.453,1,0.132,0.127,0,0.24,0.664,102.899,1YIfvogCtrfiLFOuKhBaRl,https://api.spotify.com/v1/audio-analysis/1YIfvogCtrfiLFOuKhBaRl,4,,,1,200146,FALSE,https://api.spotify.com/v1/tracks/1YIfvogCtrfiLFOuKhBaRl,FALSE,F*** Me Pumps - US Clean Version,NA,6,track,spotify:track:1YIfvogCtrfiLFOuKhBaRl,https://open.spotify.com/track/1YIfvogCtrfiLFOuKhBaRl,Frank (US Clean e-Version),G,major,G major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.494,0.304,2,-10.33,1,0.0772,0.763,0,0.126,0.267,74.87,3Li4nWTnkUu19vxkhNW9td,https://api.spotify.com/v1/audio-analysis/3Li4nWTnkUu19vxkhNW9td,4,,,1,130066,FALSE,https://api.spotify.com/v1/tracks/3Li4nWTnkUu19vxkhNW9td,FALSE,I Heard Love Is Blind,NA,7,track,spotify:track:3Li4nWTnkUu19vxkhNW9td,https://open.spotify.com/track/3Li4nWTnkUu19vxkhNW9td,Frank (US Clean e-Version),D,major,D major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.543,0.63,7,-6.668,1,0.213,0.0577,1.35e-6,0.138,0.487,149.37,1AkjqeVykfz4wXpaVCkv8x,https://api.spotify.com/v1/audio-analysis/1AkjqeVykfz4wXpaVCkv8x,4,,,1,169933,FALSE,https://api.spotify.com/v1/tracks/1AkjqeVykfz4wXpaVCkv8x,FALSE,Moody's Mood For Love,NA,8,track,spotify:track:1AkjqeVykfz4wXpaVCkv8x,https://open.spotify.com/track/1AkjqeVykfz4wXpaVCkv8x,Frank (US Clean e-Version),G,major,G major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.859,0.0999,8,-16.753,1,0.166,0.285,0.914,0.11,0.308,115.937,6IqhxPxds9Wrm63slCROHO,https://api.spotify.com/v1/audio-analysis/6IqhxPxds9Wrm63slCROHO,4,,,1,39026,FALSE,https://api.spotify.com/v1/tracks/6IqhxPxds9Wrm63slCROHO,FALSE,Teo Licks,NA,9,track,spotify:track:6IqhxPxds9Wrm63slCROHO,https://open.spotify.com/track/6IqhxPxds9Wrm63slCROHO,Frank (US Clean e-Version),G#,major,G# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.388,0.238,1,-12.887,0,0.0492,0.93,1.06e-5,0.0966,0.244,138.156,4VbqUDBWyK15pTal9THtFu,https://api.spotify.com/v1/audio-analysis/4VbqUDBWyK15pTal9THtFu,4,,,1,128933,FALSE,https://api.spotify.com/v1/tracks/4VbqUDBWyK15pTal9THtFu,FALSE,(There Is) No Greater Love,NA,10,track,spotify:track:4VbqUDBWyK15pTal9THtFu,https://open.spotify.com/track/4VbqUDBWyK15pTal9THtFu,Frank (US Clean e-Version),C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.539,0.809,10,-8.851,0,0.0683,0.114,1.02e-5,0.0715,0.724,95.631,4o2d25zcVbx5BEaHcKbtOI,https://api.spotify.com/v1/audio-analysis/4o2d25zcVbx5BEaHcKbtOI,4,,,1,317000,FALSE,https://api.spotify.com/v1/tracks/4o2d25zcVbx5BEaHcKbtOI,FALSE,In My Bed,NA,11,track,spotify:track:4o2d25zcVbx5BEaHcKbtOI,https://open.spotify.com/track/4o2d25zcVbx5BEaHcKbtOI,Frank (US Clean e-Version),A#,minor,A# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.633,0.5,1,-8.008,0,0.0387,0.0163,4.71e-6,0.112,0.157,115.822,0vlOooGJoEdbOGYt7ctoaF,https://api.spotify.com/v1/audio-analysis/0vlOooGJoEdbOGYt7ctoaF,4,,,1,200200,FALSE,https://api.spotify.com/v1/tracks/0vlOooGJoEdbOGYt7ctoaF,FALSE,Take The Box - Album Version (Edited),NA,12,track,spotify:track:0vlOooGJoEdbOGYt7ctoaF,https://open.spotify.com/track/0vlOooGJoEdbOGYt7ctoaF,Frank (US Clean e-Version),C#,minor,C# minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.672,0.842,0,-7.673,1,0.256,0.0112,0.135,0.0381,0.694,147.093,1oP9MTgQc5qHhamMCt4sky,https://api.spotify.com/v1/audio-analysis/1oP9MTgQc5qHhamMCt4sky,3,,,1,205066,FALSE,https://api.spotify.com/v1/tracks/1oP9MTgQc5qHhamMCt4sky,FALSE,October Song,NA,13,track,spotify:track:1oP9MTgQc5qHhamMCt4sky,https://open.spotify.com/track/1oP9MTgQc5qHhamMCt4sky,Frank (US Clean e-Version),C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.749,0.525,11,-7.041,0,0.065,0.35,8.9e-6,0.212,0.504,76.447,0q9SlVJ8Ygh01jmZNsbDa8,https://api.spotify.com/v1/audio-analysis/0q9SlVJ8Ygh01jmZNsbDa8,4,,,1,209306,FALSE,https://api.spotify.com/v1/tracks/0q9SlVJ8Ygh01jmZNsbDa8,FALSE,What Is It About Men,NA,14,track,spotify:track:0q9SlVJ8Ygh01jmZNsbDa8,https://open.spotify.com/track/0q9SlVJ8Ygh01jmZNsbDa8,Frank (US Clean e-Version),B,minor,B minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.719,0.54,0,-8.718,1,0.242,0.0373,6.46e-5,0.0817,0.613,80.039,603FH2sLZj6p8zgl4UPkmu,https://api.spotify.com/v1/audio-analysis/603FH2sLZj6p8zgl4UPkmu,4,,,1,254600,FALSE,https://api.spotify.com/v1/tracks/603FH2sLZj6p8zgl4UPkmu,FALSE,Amy Amy Amy,NA,15,track,spotify:track:603FH2sLZj6p8zgl4UPkmu,https://open.spotify.com/track/603FH2sLZj6p8zgl4UPkmu,Frank (US Clean e-Version),C,major,C major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.655,0.557,7,-12.639,0,0.138,0.456,0.00271,0.0682,0.714,121.096,56FUhbh4zJYYWaZXRUoAN7,https://api.spotify.com/v1/audio-analysis/56FUhbh4zJYYWaZXRUoAN7,5,,,1,44093,FALSE,https://api.spotify.com/v1/tracks/56FUhbh4zJYYWaZXRUoAN7,FALSE,Outro,NA,16,track,spotify:track:56FUhbh4zJYYWaZXRUoAN7,https://open.spotify.com/track/56FUhbh4zJYYWaZXRUoAN7,Frank (US Clean e-Version),G,minor,G minor
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.732,0.398,6,-11.108,1,0.274,0.216,1.49e-4,0.12,0.63,83.701,0s0YP92SuqVbaGoggFGJEd,https://api.spotify.com/v1/audio-analysis/0s0YP92SuqVbaGoggFGJEd,4,,,1,253946,FALSE,https://api.spotify.com/v1/tracks/0s0YP92SuqVbaGoggFGJEd,FALSE,Brother,NA,17,track,spotify:track:0s0YP92SuqVbaGoggFGJEd,https://open.spotify.com/track/0s0YP92SuqVbaGoggFGJEd,Frank (US Clean e-Version),F#,major,F# major
Amy Winehouse,6Q192DXotxtaysaqNPy5yR,0RisvCe4jLWes0m89StnuZ,album,,2003,2003,year,0.587,0.519,5,-7.304,0,0.069,0.0141,0.0184,0.102,0.558,96.508,4bjmPbbudPDelbHzL8dxh2,https://api.spotify.com/v1/audio-analysis/4bjmPbbudPDelbHzL8dxh2,4,,,1,235933,FALSE,https://api.spotify.com/v1/tracks/4bjmPbbudPDelbHzL8dxh2,FALSE,Mr Magic (Through The Smoke),NA,18,track,spotify:track:4bjmPbbudPDelbHzL8dxh2,https://open.spotify.com/track/4bjmPbbudPDelbHzL8dxh2,Frank (US Clean e-Version),F,minor,F minor
================================================
FILE: Getting started with simple linear regression/README.md
================================================
# Getting started with simple linear regression in R
[<img src="slr thumb.png" align="right" height="100" />](<https://youtu.be/xcZib3qAc30>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Getting started with simple linear regression in R**, which you can find at <https://youtu.be/xcZib3qAc30>.
================================================
FILE: Git branches and merges/README.md
================================================
# Git for R users: branches and merges
[<img src="git branches thumb.png" align="right" height="100" />](<https://youtu.be/kN9UZLgxCso>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Git for R users: branches and merges**, which you can find at <https://youtu.be/kN9UZLgxCso>.
================================================
FILE: Git branches and merges/pivot longer.R
================================================
# pivot longer: billboard
library(tidyverse)
# the pivot
billboard_long <- billboard %>%
pivot_longer(cols = starts_with("wk"),
names_to = "week",
values_to = "rank",
names_prefix = "wk",
values_drop_na = TRUE) %>%
mutate(week = as.numeric(week))
glimpse(billboard_long)
# which tracks lasted at least 52 weeks?
all_year <- billboard_long %>%
count(track) %>%
filter(n >= 52)
all_year
# filter for these tracks and add real date of chart
billboard_top4 <- billboard_long %>%
filter(track %in% all_year$track) %>%
mutate(Date = date.entered + 7 * week - 7)
# the plot
ggplot(billboard_top4,
aes(x = Date,
y = rank,
color = track)) +
geom_line() +
labs(y = "Rank",
color = "Song title",
title = "Popular songs of 2000") +
scale_color_brewer(palette = "Dark2") +
theme_minimal()
================================================
FILE: Git branches and merges/pivot wider.R
================================================
# pivot wider: table2
# load packages
library(tidyverse)
# the problem
table2
# the solution
table2 %>%
pivot_wider(names_from = type,
values_from = count)
================================================
FILE: Git setup/README.md
================================================
# Git for R users: setup
[<img src="git setup thumb.png" align="right" height="100" />](<https://youtu.be/njMEXGfUQG8>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Git for R users: setup**, which you can find at <https://youtu.be/njMEXGfUQG8>.
================================================
FILE: Git setup/git for R users.R
================================================
# First install git.
# Mac: Enter `git config` in the terminal
# Windows: https://gitforwindows.org/
# Setup -------------------------------------------------------------------
library(usethis)
use_git_config(user.name = "Your Name",
user.email = "your@email.com")
================================================
FILE: Goodness of fit testing example/README.md
================================================
# Goodness of fit testing with R - example
[<img src="gof thumb new.png" align="right" height="100" />](<https://youtu.be/uVoEKWdQmdU>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Goodness of fit testing with R - example**, which you can find at <https://youtu.be/uVoEKWdQmdU>.
================================================
FILE: Goodness of fit testing example/Script - goodness of fit example.R
================================================
# Goodness of fit testing example
obs <- c(12, 31, 36, 21)
exp_props <- dbinom(0:3, 3, .5)
exp_props
exp <- exp_props * 100
exp
chisq.test(obs, p = exp_props)
chi_stat <- sum((obs - exp)^2 / exp)
chi_stat
p <- 1 - pchisq(chi_stat, 3)
p
================================================
FILE: Graphing functions/README.md
================================================
# Graphing functions in R using ggplot
[<img src="functions thumb.png" align="right" height="100" />](<https://youtu.be/ZIJYEu0z3eo>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Graphing functions in R using ggplot**, which you can find at <https://youtu.be/ZIJYEu0z3eo>.
================================================
FILE: Graphing functions/script - graphing functions.R
================================================
# Plotting functions with ggplot()
library(tidyverse)
ggplot() +
xlim(c(-3, 3)) +
geom_function(fun = dnorm)
ggplot() +
xlim(c(-3, 3)) +
geom_function(fun = dnorm,
args = list(mean = .1,
sd = 1.5)) +
labs(y = NULL) +
theme_bw()
ggplot() +
xlim(c(-2, 2)) +
geom_function(fun = function(x) x^2) +
labs(y = NULL) +
theme_bw()
ggplot() +
xlim(c(-2, 2)) +
geom_function(fun = function(x) x^2,
aes(color = "Second degree")) +
geom_function(fun = function(x) x^3,
aes(color = "Third degree")) +
labs(color = "Degree",
y = NULL) +
theme_bw()
set.seed(1)
data <- rnorm(250)
df <- data.frame(data)
width <- .2
area <- width * length(data)
ggplot(df, aes(x = data)) +
geom_histogram(binwidth = width,
col = "blue",
fill = "lightblue") +
geom_function(fun = function(x) area * dnorm(x),
col = "black") +
theme_bw()
================================================
FILE: How to add annotations/README.md
================================================
# How to add annotations to ggplots in R
[<img src="annotations thumb new.png" align="right" height="100" />](<https://youtu.be/ugASzxMoheA>)
Hi everybody! In this folder, you'll find materials supporting my vid, **How to add annotations to ggplots in R**, which you can find at <https://youtu.be/ugASzxMoheA>.
================================================
FILE: How to add annotations/Script - annotate.R
================================================
library(tidyverse)
theme_set(theme_minimal())
set.seed(1)
t <- slice_sample(trees, n = 5)
p <- ggplot(t, aes(x = Girth, y = Height)) +
geom_point()
p
p + annotate(geom = "text",
x = 16,
y = 75.5,
label = "Outlier")
p + annotate(geom = "label",
x = 14,
y = 71.5,
label = "Outlier") +
annotate(geom = "segment",
x = 14,
y = 72,
xend = 16.1,
yend = 76.5,
arrow = arrow()) +
annotate(geom = "rect",
xmin = 8,
xmax = 11.5,
ymin = 64.5,
ymax = 72.5,
alpha = .1,
color = "darkgreen",
fill = "green")
================================================
FILE: How to add color to R ggplots/README.md
================================================
# How to add colors to R ggplots
[<img src="color thumb.png" align="right" height="100" />](<https://youtu.be/9yV77Ru6FRA>)
Hi everybody! In this folder, you'll find materials supporting my vid, **How to add colors to R ggplots**, which you can find at <https://youtu.be/9yV77Ru6FRA>.
================================================
FILE: How to add color to R ggplots/script - how to add color to R ggplots.R
================================================
# Better use of color in R
library(tidyverse)
theme_set(theme_minimal())
view(mpg)
ggplot(mpg, aes(x = cty, y = hwy)) +
geom_point(color = "seashell")
colors()
ggplot(mpg, aes(x = cty)) +
geom_histogram(color = "red",
fill = "pink")
ggplot(mpg, aes(x = cty, y = hwy)) +
geom_point(color = "#6e31d6")
ggplot(mpg, aes(x = cty)) +
geom_histogram(color = "#be1529",
fill = "#b6a960")
qplot(mpg$cty,
geom = "histogram",
fill = I("#be1529"))
================================================
FILE: How to create an other category/README.md
================================================
# How to create an "other" category in R
[<img src="other thumb new.png" align="right" height="100" />](<https://youtu.be/tFOvzCXbK7Y>)
Hi everybody! In this folder, you'll find materials supporting my vid, **How to create an "other" category in R**, which you can find at <https://youtu.be/tFOvzCXbK7Y>.
================================================
FILE: How to create an other category/lumping variables.R
================================================
# creating an 'other' category
library(tidyverse)
?fct_lump
quitting <- read_csv("quitting.csv")
View(quitting)
ggplot(quitting, aes(x = reason,
fill = reason)) +
geom_bar(show.legend = FALSE) +
scale_fill_brewer(palette = "Dark2")
quitting <- quitting %>%
mutate(reason = fct_infreq(reason))
fct_lump_n(quitting$reason, n = 4, other_level = "other")
quitting <- quitting %>%
mutate(reason_lumped = fct_lump_n(quitting$reason,
n = 4,
other_level = "other"))
ggplot(quitting, aes(x = reason_lumped,
fill = reason_lumped)) +
geom_bar(show.legend = FALSE) +
scale_fill_brewer(palette = "Dark2")
quitting <- quitting %>%
mutate(reason_lumped = fct_lump_lowfreq(quitting$reason,
other_level = "other"))
================================================
FILE: How to create an other category/quitting.csv
================================================
employee_id,reason
905892,bored
902948,salary
905732,no_advancement
901026,bored
901560,dislike_boss
903671,dislike_boss
903723,dislike_boss
905577,salary
905384,dislike_boss
903936,no_advancement
905239,salary
902582,low_recognition
905291,dislike_boss
902746,low_recognition
904765,dislike_boss
902016,bored
901308,low_recognition
901250,low_recognition
901887,bored
904114,dislike_boss
903222,dont_know
903692,salary
904530,no_advancement
904732,salary
902597,salary
901212,low_recognition
904563,dislike_boss
905649,salary
901500,no_advancement
902087,salary
905720,dislike_boss
903760,no_advancement
902160,dislike_boss
901858,no_advancement
904571,dislike_boss
902070,low_recognition
901014,salary
901502,salary
904926,health
903094,no_advancement
903540,no_advancement
903438,dislike_boss
903863,bored
901978,low_recognition
904151,dislike_boss
905150,bored
903283,no_advancement
904664,health
901609,no_advancement
901489,salary
903115,salary
901655,salary
905774,dislike_boss
903021,salary
905326,dislike_boss
904701,dislike_boss
902251,low_recognition
903825,low_recognition
904187,low_recognition
903390,salary
903677,salary
901412,bored
901202,bored
901478,dislike_boss
902545,unsafe_environment
902036,salary
903468,dont_know
901138,low_recognition
902258,bored
902435,dislike_boss
905013,dislike_boss
905900,dislike_boss
905102,salary
905894,salary
905813,salary
902653,bored
901426,low_recognition
901862,bored
904792,no_advancement
904198,low_recognition
905361,no_advancement
902715,salary
904436,dislike_boss
901581,dislike_boss
901575,no_advancement
902816,dislike_boss
904113,dislike_boss
901224,low_recognition
903955,dislike_boss
904059,low_recognition
901184,low_recognition
903840,no_advancement
903425,low_recognition
905608,no_advancement
905082,no_advancement
901244,unsafe_environment
902056,unsafe_environment
904678,dislike_boss
903887,dislike_boss
904841,no_advancement
905710,salary
903927,low_recognition
901449,dislike_boss
901664,dislike_boss
902669,no_advancement
901613,low_recognition
904312,no_advancement
902089,bored
902248,dislike_boss
904714,no_advancement
902797,no_advancement
905835,no_advancement
905588,no_advancement
905595,salary
903402,no_advancement
901038,no_advancement
904832,dislike_boss
902551,dislike_boss
904175,bored
901720,salary
905753,dislike_boss
902960,low_recognition
902431,salary
901385,dislike_boss
903954,low_recognition
905459,salary
902043,no_advancement
903842,unsafe_environment
901326,low_recognition
905038,bored
904799,salary
902310,salary
904329,salary
901836,no_advancement
902204,salary
904564,salary
904236,low_recognition
902767,salary
905037,no_advancement
903295,dislike_boss
901434,dislike_boss
902692,no_advancement
904315,no_advancement
903186,unsafe_environment
901837,salary
904211,salary
903489,bored
905473,dislike_boss
905702,bored
905648,salary
905629,salary
904976,bored
904877,salary
901555,dislike_boss
904321,dislike_boss
904002,low_recognition
905345,salary
901305,no_advancement
903434,salary
901944,no_advancement
903771,low_recognition
905825,bored
902278,low_recognition
901748,low_recognition
905285,salary
901223,dislike_boss
903506,low_recognition
905219,dislike_boss
904447,health
905960,health
904267,dislike_boss
901218,bored
901625,dont_know
905359,dislike_boss
903764,low_recognition
903239,no_advancement
905587,bored
905104,dislike_boss
904720,health
901533,salary
904021,dislike_boss
904647,low_recognition
902837,low_recognition
902525,dislike_boss
903388,low_recognition
901400,no_advancement
904278,low_recognition
905779,salary
904928,dislike_boss
901033,no_advancement
904727,health
901115,bored
903045,health
904287,dislike_boss
903750,bored
901876,bored
903373,salary
901346,no_advancement
904983,dislike_boss
902301,no_advancement
904754,no_advancement
905177,salary
901570,salary
901854,no_advancement
904579,bored
905687,dislike_boss
905991,no_advancement
905994,dislike_boss
902881,salary
903205,no_advancement
901067,dislike_boss
905617,bored
901822,bored
901172,bored
901390,salary
903349,bored
901504,salary
905474,no_advancement
904982,salary
903288,low_recognition
904443,low_recognition
904552,no_advancement
901934,dont_know
902315,no_advancement
904326,low_recognition
905815,bored
904935,unsafe_environment
903877,salary
903407,dislike_boss
903437,dislike_boss
901089,low_recognition
903835,dislike_boss
902622,no_advancement
902513,bored
905472,dislike_boss
903599,salary
903498,bored
902688,health
904509,no_advancement
905976,no_advancement
902953,low_recognition
904386,dislike_boss
905141,bored
905343,bored
902510,no_advancement
901772,low_recognition
904523,low_recognition
904374,no_advancement
904649,bored
903144,dont_know
901039,bored
901040,no_advancement
905238,dislike_boss
901112,salary
904889,low_recognition
905955,salary
903254,bored
904157,salary
901132,bored
903689,salary
905210,dislike_boss
902640,low_recognition
905526,no_advancement
901793,dislike_boss
905110,dislike_boss
905386,bored
905611,bored
902812,salary
904158,no_advancement
903704,salary
902829,dislike_boss
902358,bored
902580,low_recognition
903903,salary
903578,dislike_boss
901666,no_advancement
904434,no_advancement
905610,dislike_boss
901797,dont_know
903510,no_advancement
904651,salary
902777,dont_know
903888,no_advancement
902748,no_advancement
901737,low_recognition
903521,dislike_boss
905750,dislike_boss
905297,salary
903213,salary
902791,no_advancement
903755,salary
903055,low_recognition
901758,no_advancement
902559,dislike_boss
903193,salary
902257,health
904069,dislike_boss
905106,salary
903227,dislike_boss
903616,no_advancement
904919,no_advancement
901698,dont_know
904276,salary
901339,salary
903168,dislike_boss
905891,salary
904791,bored
904425,health
904669,low_recognition
904100,health
904813,dislike_boss
903559,low_recognition
904412,low_recognition
903234,no_advancement
904992,no_advancement
902697,no_advancement
902375,dislike_boss
903264,health
904844,dislike_boss
905017,low_recognition
903564,dont_know
904955,salary
902097,dont_know
903165,dislike_boss
903040,no_advancement
903933,no_advancement
903537,no_advancement
905052,salary
905858,no_advancement
905877,dislike_boss
901813,dislike_boss
901999,low_recognition
904681,dislike_boss
901663,salary
903538,no_advancement
904188,dislike_boss
903017,dislike_boss
901618,no_advancement
902143,salary
903181,no_advancement
902635,salary
902242,dislike_boss
903281,salary
903184,bored
905257,dislike_boss
905332,low_recognition
905977,salary
903662,unsafe_environment
903876,salary
902217,low_recognition
904560,low_recognition
903950,no_advancement
903128,bored
903519,no_advancement
905148,salary
905983,bored
902964,low_recognition
905521,salary
902741,unsafe_environment
902826,bored
901309,no_advancement
901615,no_advancement
902260,salary
902091,dislike_boss
904199,bored
902410,no_advancement
905085,unsafe_environment
903210,bored
905118,low_recognition
905888,low_recognition
901546,low_recognition
902241,no_advancement
901755,salary
905914,salary
903530,low_recognition
902817,salary
902781,low_recognition
902197,no_advancement
902162,low_recognition
905277,dislike_boss
902557,health
905546,dislike_boss
901239,low_recognition
902618,salary
905809,low_recognition
905389,salary
905862,salary
903111,bored
904308,bored
903299,salary
901908,bored
905167,low_recognition
902928,bored
901648,bored
903601,salary
901405,dislike_boss
903972,dislike_boss
901964,bored
901053,no_advancement
903963,unsafe_environment
901776,dislike_boss
903271,no_advancement
904256,no_advancement
905898,low_recognition
903594,no_advancement
904265,health
902213,no_advancement
901829,low_recognition
901568,dislike_boss
903603,low_recognition
901440,dislike_boss
902982,no_advancement
901006,no_advancement
904806,no_advancement
903221,salary
905161,low_recognition
903819,unsafe_environment
905187,low_recognition
905919,dislike_boss
901228,dislike_boss
903929,no_advancement
901050,salary
903358,health
903561,dislike_boss
903300,dislike_boss
904102,salary
905580,no_advancement
902868,salary
902739,dislike_boss
902361,no_advancement
901863,dislike_boss
903408,dislike_boss
905109,salary
902950,dislike_boss
904801,bored
903123,bored
901671,no_advancement
903765,low_recognition
905339,dislike_boss
903378,no_advancement
904837,salary
902995,salary
905468,no_advancement
901463,dislike_boss
905878,salary
902997,low_recognition
902208,no_advancement
903029,no_advancement
901334,no_advancement
904046,no_advancement
905071,dislike_boss
902918,no_advancement
905205,bored
902105,bored
902761,dislike_boss
905149,no_advancement
904817,low_recognition
903743,dislike_boss
904050,no_advancement
904332,salary
902024,dislike_boss
901043,no_advancement
902785,dislike_boss
902934,salary
903379,no_advancement
903043,salary
904803,no_advancement
905620,low_recognition
901703,low_recognition
904988,salary
904234,salary
902221,unsafe_environment
905775,low_recognition
904426,no_advancement
903508,no_advancement
902037,no_advancement
904383,salary
901331,dislike_boss
902935,dislike_boss
903050,no_advancement
905998,bored
903839,dislike_boss
903286,bored
905738,low_recognition
902438,salary
904878,salary
902190,dislike_boss
905363,low_recognition
905987,no_advancement
902864,dislike_boss
902009,dont_know
901881,health
901852,dislike_boss
903355,dont_know
901258,low_recognition
905604,bored
904323,no_advancement
902701,no_advancement
901696,low_recognition
905957,no_advancement
904914,no_advancement
904446,dislike_boss
903923,no_advancement
903075,dislike_boss
903836,dislike_boss
902153,no_advancement
902747,dislike_boss
905936,dont_know
901691,low_recognition
905450,no_advancement
905690,no_advancement
905951,no_advancement
903822,low_recognition
902034,bored
903886,dislike_boss
904660,no_advancement
902898,salary
905314,salary
904730,salary
902447,no_advancement
902456,bored
904342,no_advancement
902596,dislike_boss
904057,bored
901685,salary
902988,low_recognition
905534,bored
903788,salary
904325,bored
904441,low_recognition
903921,no_advancement
905739,dislike_boss
905733,salary
901220,no_advancement
902745,low_recognition
904244,no_advancement
905827,dislike_boss
901497,low_recognition
901557,low_recognition
904142,bored
902220,salary
904587,low_recognition
905552,dislike_boss
903961,no_advancement
904599,no_advancement
901948,no_advancement
904389,salary
904099,dislike_boss
904317,unsafe_environment
904944,no_advancement
902705,no_advancement
901681,no_advancement
904228,low_recognition
902805,salary
904038,low_recognition
904366,low_recognition
903448,bored
903038,unsafe_environment
904731,dislike_boss
903002,low_recognition
905199,dislike_boss
903463,no_advancement
903934,bored
905449,dislike_boss
904149,dislike_boss
903011,low_recognition
902212,dislike_boss
905400,health
905488,dislike_boss
904764,salary
902854,salary
901459,salary
902329,dislike_boss
904415,low_recognition
904378,dislike_boss
902838,dislike_boss
902452,low_recognition
904197,salary
904624,no_advancement
902609,salary
902235,no_advancement
901462,dislike_boss
901676,no_advancement
903562,no_advancement
903095,health
902437,low_recognition
901982,no_advancement
903787,bored
905746,low_recognition
902602,dislike_boss
901324,salary
901262,dislike_boss
904767,low_recognition
904952,low_recognition
902385,bored
901272,dislike_boss
905547,no_advancement
903381,salary
902751,salary
902856,low_recognition
905563,dislike_boss
904617,no_advancement
903185,dislike_boss
904433,dislike_boss
904031,no_advancement
901234,low_recognition
905303,salary
905452,bored
901466,no_advancement
905111,unsafe_environment
901035,dislike_boss
901989,no_advancement
905741,dislike_boss
904088,dislike_boss
902983,salary
901129,dislike_boss
901559,unsafe_environment
903027,no_advancement
903856,dislike_boss
904814,salary
902827,dislike_boss
905358,salary
902569,low_recognition
901214,low_recognition
904483,no_advancement
902078,no_advancement
903644,salary
903377,no_advancement
905854,dislike_boss
903305,low_recognition
903160,salary
905684,salary
902717,low_recognition
901525,no_advancement
904532,salary
904828,salary
901082,unsafe_environment
904778,bored
905122,no_advancement
902228,no_advancement
905311,bored
901699,salary
901760,bored
904413,salary
903418,dislike_boss
902185,no_advancement
905790,dislike_boss
905019,salary
905442,dislike_boss
902691,salary
901167,no_advancement
901232,low_recognition
904650,no_advancement
902731,bored
901614,dislike_boss
902367,low_recognition
901511,dislike_boss
901433,dislike_boss
903570,no_advancement
901966,dislike_boss
904380,bored
903808,low_recognition
902041,salary
901880,salary
901509,low_recognition
902287,bored
905972,salary
903335,low_recognition
902780,no_advancement
903327,dislike_boss
901563,salary
905505,no_advancement
903309,health
903566,health
905099,dislike_boss
901395,dislike_boss
901512,low_recognition
905398,salary
902388,low_recognition
905268,bored
905895,dislike_boss
902023,low_recognition
901897,dont_know
904749,dislike_boss
905777,salary
905512,no_advancement
903409,low_recognition
904872,dislike_boss
902919,low_recognition
905078,salary
904697,dislike_boss
902512,no_advancement
904055,salary
901140,low_recognition
901933,dislike_boss
904899,low_recognition
902130,health
903073,salary
903059,salary
905945,no_advancement
902599,unsafe_environment
903435,no_advancement
903436,bored
904118,no_advancement
903918,bored
902592,salary
903431,salary
903607,no_advancement
902273,salary
905197,low_recognition
904839,low_recognition
901901,no_advancement
903108,no_advancement
904613,dislike_boss
903257,health
902263,no_advancement
903485,salary
903651,bored
903747,low_recognition
901148,salary
902729,dislike_boss
904203,salary
901702,no_advancement
904969,salary
905869,dislike_boss
903864,salary
902906,bored
905909,bored
904728,dislike_boss
902764,unsafe_environment
902649,bored
901268,health
905200,salary
902936,low_recognition
904796,low_recognition
903163,unsafe_environment
903947,low_recognition
903494,salary
904695,salary
902583,dislike_boss
902115,low_recognition
901572,dislike_boss
903579,no_advancement
902730,salary
905984,dislike_boss
903685,low_recognition
901716,no_advancement
902369,bored
904851,no_advancement
901976,no_advancement
902426,dislike_boss
903992,dislike_boss
903663,no_advancement
905175,no_advancement
901037,bored
901219,dislike_boss
904355,low_recognition
902566,no_advancement
903920,salary
902967,bored
901169,low_recognition
903304,dislike_boss
905628,dislike_boss
901333,dislike_boss
902033,low_recognition
902655,dislike_boss
902423,bored
904834,bored
905529,dislike_boss
904030,health
903260,salary
903796,bored
903777,salary
904788,low_recognition
902094,salary
905847,salary
901890,salary
904051,bored
903428,low_recognition
904488,salary
902680,won_lottery
902314,salary
903024,health
901712,dislike_boss
904419,health
905095,salary
901021,bored
902676,low_recognition
904289,bored
903150,salary
902173,bored
905293,low_recognition
904699,dislike_boss
904219,no_advancement
901850,no_advancement
905965,salary
902830,low_recognition
902567,no_advancement
903147,salary
902696,bored
905124,no_advancement
905447,low_recognition
903052,dislike_boss
903237,salary
904445,no_advancement
904172,low_recognition
903298,bored
905985,dislike_boss
905356,health
905481,low_recognition
903290,low_recognition
901740,salary
903984,dislike_boss
901745,low_recognition
901246,salary
904663,no_advancement
903057,dislike_boss
904430,no_advancement
905723,no_advancement
902450,dislike_boss
904168,unsafe_environment
904460,no_advancement
901715,no_advancement
904725,dislike_boss
903169,low_recognition
904780,no_advancement
905506,dislike_boss
902401,dislike_boss
902788,low_recognition
903369,salary
905999,salary
903098,low_recognition
905852,salary
904297,bored
901475,no_advancement
905510,dislike_boss
902003,dislike_boss
903400,low_recognition
901198,salary
901888,salary
902993,salary
903394,no_advancement
905671,low_recognition
903010,salary
904965,low_recognition
901225,no_advancement
904183,health
901096,low_recognition
901447,salary
902981,bored
901841,no_advancement
903362,no_advancement
902578,unsafe_environment
902077,dislike_boss
905070,low_recognition
901662,no_advancement
904238,low_recognition
902064,dislike_boss
904800,low_recognition
902458,low_recognition
905407,no_advancement
903783,no_advancement
903041,dislike_boss
905192,bored
901378,salary
905264,no_advancement
902296,no_advancement
902794,salary
903529,no_advancement
905032,dislike_boss
905880,salary
903909,no_advancement
903367,low_recognition
901523,salary
904153,dont_know
902232,salary
905036,dislike_boss
905174,dislike_boss
902800,no_advancement
903837,salary
904126,no_advancement
901162,no_advancement
903444,no_advancement
902025,dislike_boss
903376,salary
901971,no_advancement
904542,dislike_boss
904608,low_recognition
905799,dislike_boss
904164,dislike_boss
903323,low_recognition
902576,no_advancement
904645,dislike_boss
901313,dislike_boss
902644,dislike_boss
904574,dislike_boss
902243,salary
901376,salary
901287,bored
902772,no_advancement
902844,low_recognition
901397,no_advancement
903136,dislike_boss
901045,no_advancement
902820,dislike_boss
905996,dislike_boss
901725,no_advancement
901135,bored
901531,unsafe_environment
903535,no_advancement
903891,no_advancement
901569,dislike_boss
905090,no_advancement
904173,dislike_boss
905026,unsafe_environment
902022,salary
905591,salary
905461,low_recognition
901159,dont_know
904953,bored
901992,no_advancement
901731,salary
902722,salary
901380,health
901363,bored
905249,salary
904133,low_recognition
901771,low_recognition
902405,health
904352,no_advancement
903843,dislike_boss
901282,no_advancement
901697,dislike_boss
901456,salary
902274,no_advancement
901632,bored
904942,salary
901332,no_advancement
904816,salary
901243,salary
904097,no_advancement
901598,dislike_boss
901970,salary
904578,bored
903994,dislike_boss
901595,low_recognition
904027,salary
904655,dislike_boss
903265,salary
901391,low_recognition
901191,dislike_boss
905989,no_advancement
902128,salary
903187,salary
904808,low_recognition
902725,no_advancement
902157,bored
901727,bored
903838,dislike_boss
901669,low_recognition
902897,salary
902733,salary
903470,dont_know
902098,unsafe_environment
904859,dislike_boss
903012,dislike_boss
902852,salary
905454,no_advancement
904529,dislike_boss
902441,dislike_boss
904431,no_advancement
902843,dislike_boss
903101,bored
905098,no_advancement
905115,salary
903637,no_advancement
901905,no_advancement
904875,dislike_boss
905006,salary
905227,low_recognition
904022,no_advancement
904202,no_advancement
903212,no_advancement
901450,bored
905228,no_advancement
904668,low_recognition
904442,bored
902075,dislike_boss
905637,dislike_boss
904679,bored
903789,no_advancement
902487,no_advancement
902834,no_advancement
904639,bored
903648,low_recognition
902952,no_advancement
904438,dislike_boss
903396,salary
903857,dislike_boss
903772,no_advancement
904033,dislike_boss
901455,low_recognition
904502,dislike_boss
902667,no_advancement
905236,low_recognition
904218,salary
905982,low_recognition
905568,no_advancement
902021,low_recognition
904103,no_advancement
904087,salary
902796,bored
905769,no_advancement
901667,no_advancement
903366,unsafe_environment
902165,no_advancement
901795,salary
904951,no_advancement
903803,dislike_boss
903636,low_recognition
902433,dislike_boss
902494,low_recognition
905532,no_advancement
901600,dislike_boss
903622,low_recognition
903911,low_recognition
905990,no_advancement
904912,salary
905211,no_advancement
905803,no_advancement
902129,salary
904251,bored
903988,no_advancement
904346,salary
904159,salary
905308,low_recognition
902348,salary
903471,health
903785,low_recognition
905448,dislike_boss
903829,low_recognition
902658,no_advancement
902579,low_recognition
903145,salary
903334,salary
905031,bored
901240,bored
902359,dislike_boss
903490,no_advancement
905523,no_advancement
901870,no_advancement
902821,salary
902163,dislike_boss
901375,unsafe_environment
901263,no_advancement
903707,no_advancement
905963,no_advancement
903672,no_advancement
904376,salary
903584,dont_know
902662,low_recognition
902443,bored
902383,dislike_boss
901518,low_recognition
902152,health
901766,low_recognition
901820,low_recognition
904043,no_advancement
901873,no_advancement
903322,dislike_boss
903742,salary
901825,low_recognition
904169,salary
905992,dislike_boss
905522,salary
904074,no_advancement
901847,bored
901062,no_advancement
902244,no_advancement
901275,low_recognition
903476,bored
903900,dislike_boss
903503,bored
901049,no_advancement
905785,low_recognition
903618,dislike_boss
902973,dislike_boss
904998,salary
905632,salary
901739,dislike_boss
901325,salary
902531,dislike_boss
904751,no_advancement
902954,low_recognition
901924,no_advancement
901079,salary
901947,bored
901777,salary
902224,dislike_boss
905831,salary
901528,no_advancement
901337,dislike_boss
904437,low_recognition
903412,no_advancement
902132,dislike_boss
901361,salary
903966,no_advancement
901111,dislike_boss
905612,low_recognition
902336,salary
903643,dislike_boss
901125,salary
904209,no_advancement
901213,bored
903879,low_recognition
902175,dislike_boss
903567,dislike_boss
903986,low_recognition
================================================
FILE: How to make a pride flag/README.md
================================================
# How to make a pride flag with R
[<img src="pride thumb.png" align="right" height="100" />](<https://youtu.be/mk8k7_3SJxY>)
Hi everybody! In this folder, you'll find materials supporting my vid, **How to make a pride flag with R**, which you can find at <https://youtu.be/mk8k7_3SJxY>.
================================================
FILE: How to make a pride flag/script - pride flag.R
================================================
library(tidyverse)
colors <- c("#770088",
"#004CFF",
"#028121",
"#FFEE00",
"#FF8D00",
"#E50000")
# Or just use "red", "orange", etc.
cats <- letters[1:6]
cats
df <- tibble(cats)
df
ggplot(df, aes(y = cats,
fill = cats)) +
geom_bar(show.legend = FALSE,
width = 1) +
scale_fill_manual(values = colors) +
theme_void()
# Can you make a progress flag?
# Hint: geom_polygon
================================================
FILE: How to purrr/README.md
================================================
# How to purrr
[<img src="purrr thumb new.png" align="right" height="100" />](<https://youtu.be/nd-Y8b22YaQ>)
Hi everybody! In this folder, you'll find materials supporting my vid, **How to purrr**, which you can find at <https://youtu.be/nd-Y8b22YaQ>.
================================================
FILE: How to purrr/script - purrr.R
================================================
library(tidyverse)
map(1:5, sqrt)
map_dbl(1:5, sqrt)
sqrt(1:5)
silly_list <- list("foo",
1:5,
faithful,
TRUE)
class(silly_list)
map_chr(silly_list, class)
faithful_chr <- faithful %>%
map_df(as.character)
glimpse(faithful_chr)
faithful_chr <- faithful %>%
map_chr(as.character) # error
min_to_sec <- function(x){
x * 60
}
faithful_sec <- faithful %>%
map_df(min_to_sec)
glimpse(faithful_sec)
faithful_sec <- faithful %>%
map_df(function(x) x * 60)
faithful_sec <- faithful %>%
map_df(\(x) x * 60)
# additional arguments
means <- c(1, 10, 20, 50)
map(means, rnorm, n = 5)
map(means, rnorm, nm = 5) # error
map(means, \(m) rnorm(5, m))
# multiple iterations
sds <- c(.1, 1, 3, 5)
map2(means,
sds,
\(m, s) rnorm(5, m, s)) # iterate over 2 vectors
# If you want all combinations, use
?expand_grid
expand_grid(means, sds)
nums <- 1:4
pmap(list(nums, means, sds), rnorm)
================================================
FILE: How to put a project onto GitHub/README.md
================================================
# How to put a project onto GitHub
[<img src="github thumb.png" align="right" height="100" />](<https://youtu.be/PViqL-BYbX0>)
Hi everybody! In this folder, you'll find materials supporting my vid, **How to put a project onto GitHub**, which you can find at <https://youtu.be/PViqL-BYbX0>.
================================================
FILE: How to put a project onto GitHub/github setup.R
================================================
# GitHub setup
# First, sign up for an account at www.github.com
library(usethis)
# Connect RStudio to your GitHub
create_github_token()
gitcreds::gitcreds_set()
# Put a project onto GitHub
use_github()
# Create a readme
use_readme_md()
================================================
FILE: How to show a ggplot to AI/README.md
================================================
# How to show a ggplot to an AI assistant
[<img src="ggplot_AI thumb.png" align="right" height="100" />](<https://youtu.be/-mYInTbBMQ4>)
Hi everybody! In this folder, you'll find materials supporting my vid, **How to show a ggplot to an AI assistant**, which you can find at <https://youtu.be/-mYInTbBMQ4>.
================================================
FILE: How to show a ggplot to AI/script - ggplot with AI.R
================================================
library(tidyverse)
library(ellmer)
glimpse(msleep)
ggplot(msleep, aes(x = bodywt,
y = brainwt)) +
geom_point()
?chat_anthropic
claude <- chat_anthropic()
?content_image_plot
claude$chat("Provide suggestions for improving this plot based on dataziv best practice",
content_image_plot())
claude$chat("write r code to implement suggestions 1, 2, 4, and 6. Label the most extreme outlier only as African Elephant. The data set is msleep.")
ggplot(msleep, aes(x = bodywt, y =
brainwt)) +
# Use log10 scales for both axes
scale_x_log10(labels = scales::comma) +
scale_y_log10(labels = scales::comma) +
# Add points
geom_point(alpha = 0.7) +
# Label the African Elephant point only
geom_text(data = msleep %>% filter(name
== "African elephant"),
aes(label = name),
hjust = -0.2,
vjust = 0.5,
size = 3.5) +
# Add title and proper axis labels
labs(
title = "Relationship Between Brain
Weight and Body Weight in Mammals",
x = "Body Weight (kg)",
y = "Brain Weight (kg)",
caption = "Data source: msleep dataset
from ggplot2 package"
) +
# Use a clean theme
theme_minimal() +
# Additional theme customization
theme(
plot.title = element_text(face =
"bold", size = 14),
axis.title = element_text(size = 12),
plot.caption = element_text(hjust = 0,
face = "italic")
)
live_browser(claude)
# Load libraries
library(ggplot2)
library(dplyr)
# Create improved scatter plot
ggplot(msleep, aes(x = bodywt, y = brainwt)) +
# Use log scales
scale_x_log10(labels = scales::comma) +
scale_y_log10(labels = scales::comma) +
# Add points
geom_point(alpha = 0.7) +
# Label African Elephant only
geom_text(data = msleep %>% filter(name == "African elephant"),
aes(label = name),
hjust = -0.2,
vjust = 0.5,
size = 3.5) +
# Add title and axis labels
labs(
title = "Relationship Between Brain Weight and Body Weight in Mammals",
x = "Body Weight (kg)",
y = "Brain Weight (kg)",
caption = "Data source: msleep dataset"
) +
# Apply theme
theme_minimal() +
# Customize appearance
theme(
plot.title = element_text(face = "bold", size = 14),
axis.title = element_text(size = 12),
plot.caption = element_text(hjust = 0, face = "italic")
)
claude$get_cost()
================================================
FILE: Hypothesis testing in R/README.md
================================================
# Hypothesis testing in R
[<img src="hypothesis thumb.jpg" align="right" height="100" />](<https://youtu.be/oNpfjcIf2Es>)
Hi everybody! In this folder, you'll find materials supporting my vid, **Hypothesis testing in R**, which you can find at <https://youtu.be/oNpfjcIf2Es>.
================================================
FILE: Hypothesis testing in R/Script - hypothesis testing in R.R
================================================
library(tidyverse)
?airquality
View(airquality)
qplot(airquality$Wind, geom = "histogram")
t.test(airquality$Wind, mu = 9)
qplot(airquality$Solar.R, geom = "histogram")
t.test(airquality$Solar.R,
mu = 175,
alternative = "greater")
================================================
FILE: If-else statements in R/README.md
================================================
# If-else statements in R
[<img src="ifelse thumb.png" align="right" height="100" />](<https://youtu.be/zose3lQAN7o>)
Hi everybody! In this folder, you'll find materials supporting my vid, **If-else statements in R**, which you can find at <https://youtu.be/zose3lQAN7o>.
================================================
FILE: If-else statements in R/Script - ifelse.R
================================================
# if-else statements in R
library(tidyverse)
# the basics --------------------------------------------------------------
my_word <- "hello there!"
if (nchar(my_word) <= 5) {
print("It's a short string")
} else if (nchar(my_word) <= 8){
print("It's a mid-length string")
} else {
print("It's a long string")
}
# a handy shortcut --------------------------------------------------------
x <- 4
y <- if (x < 5) 0 else 10
?ifelse
y <- ifelse(x < 5, 0, 10)
y
# practical example -------------------------------------------------------
# import the data (it's on my GitHub)
plant_updates <- read_csv("If-else statements in R/plant_updates.csv")
View(plant_updates)
plants_new <- plant_updates %>%
mutate(name_best = ifelse(!is.na(name_2017),
name_2017,
scientific_name),
c_best = ifelse(!is.na(c_2017),
c_2017,
c))
View(plants_new)
skimr::skim(plants_new)
================================================
FILE: If-else statements in R/plant_updates.csv
================================================
scientific_name,c,name_2017,c_2017
Acanthopanax sieboldianus,0,Eleutherococcus sieboldianus,0
Actaea rubra ssp. arguta,10,Actaea rubra,10
Actaea rubra ssp. rubra,10,Actaea rubra,10
Agalinis paupercula var. borealis,9,Agalinis paupercula,9
Agalinis paupercula var. paupercula,9,Agalinis paupercula,9
Agastache scrophulariaefolia,5,Agastache scrophulariifolia,5
Alcea rosea,0,Althaea rosea,0
Allium ?stulosum,0,Allium fistulosum,0
Allium canadense var. canadense,3,Allium canadense,3
Allium canadense var. lavandulare,9,Allium canadense var. lavendulare,9
Allium mutabile,0,Allium canadense var. lavendulare,9
Alnus incana,8,Alnus rugosa,8
Ampelamus albidus,0,Ampelamus laevis,0
Amphicarpaea bracteata var. bracteata,5,Amphicarpaea bracteata,5
Amsinckia spectabilis,0,Amsinckia menziesii,0
Anchusa of?cinalis,0,Anchusa officinalis,0
Andromeda polifolia var. latifolia,10,Andromeda glaucophylla,10
Anemone patens var. multi?da,10,Pulsatilla patens subsp. multifida,10
Anemone quinquefolia var. bifolia,7,Anemone quinquefolia,7
Anemone quinquefolia var. quinquefolia,7,Anemone quinquefolia,7
Antennaria howellii,3,NA,3
Antennaria parlinii ssp. fallax,3,Antennaria parlinii subsp. fallax,3
Antennaria parlinii ssp. parlinii,3,Antennaria parlinii,3
Anthoxanthum hirtum,10,Hierochloe hirta,10
Anticlea elegans,10,Anticlea elegans var. glauca,10
Apocynum androsaemifolium var. androsaemifolium,5,Apocynum androsaemifolium,5
Apocynum androsaemifolium var. incanum,5,Apocynum androsaemifolium,5
Apocynum cannabinum,2,Apocynum cannabinum var. glaberrimum,2
Apocynum x ?oribundum,4,Apocynum x floribundum,4
Aralia chinensis,0,Aralia elata,0
Arctostaphylos uva-ursi ssp. coactilis,10,Arctostaphylos uva-ursi var. coactilis,10
Argemone albi?ora,0,Argemone albiflora,0
Aristida intermedia,5,Aristida necopina,3
Aristida longespica,1,Aristida longispica,1
Aristida longespica var. geniculata,1,Aristida necopina,3
Aristida longespica var. longespica,1,Aristida longispica,1
Artemisia campestris ssp. caudata,5,Artemisia campestris subsp. caudata,5
Artemisia ludoviciana var. gnaphalodes,0,Artemisia ludoviciana,0
Artemisia ludoviciana var. ludoviciana,0,Artemisia ludoviciana,0
Artemisia vulgaris var. glabra,0,Artemisia vulgaris,0
Artemisia vulgaris var. latiloba,0,Artemisia ludoviciana,0
Artemisia vulgaris var. vulgaris,0,Artemisia vulgaris,0
Aruncus dioicus var. pubescens,10,Aruncus dioicus,10
Asclepias longifolia,10,Asclepias hirtella,10
Asclepias tuberosa ssp. interior,8,Asclepias tuberosa,8
Asclepias viridi?ora,10,Asclepias viridiflora,10
Athyrium filix-femina ssp. angustum,8,Athyrium filix-femina,8
Atriplex glabriuscula,0,Atriplex patula,0
Aureolaria ?ava var. macrantha,9,Aureolaria flava,10
Aureolaria grandi?ora var. pulchra,10,Aureolaria grandiflora var. pulchra,10
Aureolaria pedicularia var. ambigens,7,Aureolaria pedicularia,7
Azolla cristata,5,Azolla caroliniana,5
Baptisia alba var. macrophylla,8,Baptisia lactea,8
Baptisia bracteata,10,Baptisia leucophaea,10
Betula pumila var. glabra,10,Betula pumila,10
Betula pumila var. glandulifera,10,Betula pumila,10
Betula pumila var. pumila,10,Betula pumila,10
Bidens beckii,10,Megalodonta beckii,10
Bidens trichosperma,9,Bidens trichosperma,8
Bidens tripartita,3,NA,NA
Boechera shortii,6,Boechera dentata,8
Boltonia asteroides var. asteroides,8,Boltonia asteroides,8
Boltonia asteroides var. latisquama,8,Boltonia asteroides,8
Boltonia asteroides var. recognita,8,Boltonia asteroides,8
Borago of?cinalis,0,Borago officinalis,0
Bothriochloa laguroides,0,Bothriochloa laguroides subsp. torreyana,0
Bromus arvensis,0,Bromus japonicus,0
Bromus hordeaceus ssp. hordeaceus,0,Bromus hordaceus subsp. hordaceus,0
Bromus hordeaceus ssp. pseudothominei,0,Bromus hordaceus subsp. pseudothominei,0
Bromus pubescens,5,Bromus pubescens,10
Cakile edentula ssp. edentula var. edentula,0,Cakile edentula,0
Cakile edentula ssp. edentula var. lacustris,7,Cakile lacustris,7
Calamagrostis stricta,8,Calamagrostis stricta subsp. inexpansa,8
Calamovilfa longifolia,8,Calamovilfa longifolia var. magna,8
Callirhoe digitata,0,Callirhoe alcaeoides,0
Calystegia hederacea,0,Calystegia pubescens,0
Calystegia sepium ssp. americana,1,Calystegia sepium,1
Calystegia sepium ssp. angulata,1,Calystegia sepium subsp. angulata,1
Calystegia sepium ssp. sepium,1,Calystegia sepium,1
Calystegia silvatica ssp. fraterniflorus,1,Calystegia silvatica subsp. fraterniflora,1
Cardamine concatenata,5,Dentaria laciniata,5
Cardamine diphylla,10,Dentaria diphylla,10
Cardaria pubescens var. elongata,0,Lepidium appelianum,0
Carex abdita,7,Carex umbellata,7
Carex atlantica ssp. atlantica,10,Carex atlantica,10
Carex atlantica ssp. capillacea,10,Carex atlantica subsp. capillacea,10
Carex canescens ssp. canescens,10,Carex canescens,10
Carex canescens ssp. disjuncta,10,Carex canescens,10
Carex crinita var. brevicrinis,7,Carex crinita,7
Carex crinita var. crinita,7,Carex crinita,7
Carex debilis var. debilis,10,Carex debilis,10
Carex echinodes,10,Carex echinodes,5
Carex emmonsii,9,Carex albicans var. emmonsii,5
Carex heliophila,5,Carex inops subsp. heliophila,10
Carex laxi?ora,8,Carex laxiflora,8
Carex nigromarginata,6,Carex albicans var. emmonsii,5
Carex vaginata,0,Carex tetanica,7
Carex x subimpressa,4,NA,NA
Carpinus caroliniana ssp. virginiana,8,Carpinus caroliniana subsp. virginiana,8
Castilleja sessili?ora,10,Castilleja sessiliflora,10
Ceanothus americanus,6,Ceanothus americanus,8
Ceanothus americanus var. americanus,6,Ceanothus americanus,8
Ceanothus americanus var. pitcheri,6,Ceanothus americanus,8
Centaurea stoebe ssp. micranthos,0,Centaurea stoebe subsp. micranthos,0
Chaenorrhinum minus,0,Chaenorhinum minus,0
Chenopodium leptophyllum,5,Chenopodium pallescens,10
Chimaphila umbellata ssp. cisatlantica,10,Chimaphila umbellata subsp. cisatlantica,10
Chrysopsis camporum,10,Heterotheca camporum,10
Chrysopsis camporum var. glandulissima,0,Heterotheca camporum var. glandulissima,0
Chrysopsis villosa,8,Heterotheca villosa,8
Chrysopsis villosa var. foliosa,0,Heterotheca villosa var. foliosa,0
Cirsium altissimum,6,Cirsium altissimum,8
Cirsium pumilum var. hillii,10,Cirsium hillii,10
Clematis terni?ora,0,Clematis terniflora,0
Cleome serrulata,0,Peritoma serrulata,0
Clinopodium arkansanum,10,Calamintha arkansana,10
Commelina erecta,10,Commelina erecta var. deamiana,10
Corallorhiza trifida,10,Corallorhiza trifida var. verna,10
Coreopsis grandi?ora,0,Coreopsis grandiflora,0
Coreopsis grandiflora var. grandiflora,0,Coreopsis grandiflora,0
Corispermum welshii,2,NA,NA
Cornus alba,5,Cornus sericea,5
Corydalis sempervirens,10,Capnoides sempervirens,10
Cotoneaster acutifolia,0,Cotoneaster lucidus,0
Cotoneaster multiflora,0,Cotoneaster magnificus,0
Crataegus ?abellata,5,Crataegus macrosperma,5
Crataegus intricata,5,Crataegus chrysocarpa,4
Crataegus pedicellata,5,Crataegus coccinea,5
Crataegus punctata var. aurea,4,Crataegus punctata,4
Crataegus punctata var. punctata,4,Crataegus punctata,4
Cuscuta compacta,10,Cuscuta gronovii,5
Cuscuta gronovii var. gronovii,5,Cuscuta gronovii,5
Cuscuta gronovii var. latifolia,4,Cuscuta gronovii,5
Cynoglossum of?cinale,0,Cynoglossum officinale,0
Cynoglossum virginianum,10,Cynoglossum boreale,10
Cyperus esculentus,0,Cyperus esculentus var. leptostachyus,0
Cyperus flavescens,9,Cyperus flavescens,10
Cyperus houghtonii,2,Cyperus houghtonii,4
Cyperus lupulinus,5,Cyperus lupulinus,4
Cypripedium parviflorum,10,NA,10
Cypripedium parviflorum var. parviflorum,10,Cypripedium parviflorum var. pubescens,10
Cypripedium x andrewsii var. andrewsii,10,Cypripedium x andrewsii,10
Cypripedium x andrewsii var. favillianum,10,Cypripedium x andrewsii,10
Cyrtorhyncha cymbalaria,1,Halerpestes cymbalaria,1
Cystopteris bulbifera,8,Cystopteris bulbifera,10
Datura stramonium var. stramonium,0,Datura stramonium,0
Datura stramonium var. tatula,0,Datura stramonium,0
Deschampsia ?exuosa,10,Avenella flexuousa,0
Deschampsia caespitosa,10,Deschampsia cespitosa,10
Descurainia pinnata ssp. brachycarpa,0,Descurainia pinnata var. brachycarpa,0
Desmodium cuspidatum var. cuspidatum,10,Desmodium cuspidatum,10
Desmodium glutinosum,5,Hylodesmum glutinosum,7
Desmodium marilandicum,10,Desmodium marilandicum,9
Desmodium nudi?orum,9,Hylodesmum nudiflorum,10
Diarrhena americana,10,Diarrhena obovata,10
Dichanthelium acuminatum,4,NA,NA
Dichanthelium oligosanthes,4,Dichanthelium oligosanthes,9
Dichanthelium ovale var. addisonii,10,Dichanthelium commonsianum,10
Dichanthelium portoricense,8,Dichanthelium columbianum,8
Dichanthelium sphaerocarpon var. isophyllum,8,Dichanthelium polyanthes,10
Dichanthelium sphaerocarpon var. sphaerocarpon,8,Dichanthelium sphaerocarpon,7
Digitaria ?liformis,10,Digitaria filiformis,10
Diphasiastrum complanatum,4,Diphasiastrum digitatum,4
Diplachne fusca,0,Leptochloa fascicularis,0
Diplazium pycnocarpon,10,Homalosorus pycnocarpos,10
Distichlis spicata var. stricta,0,Distichlis stricta,0
Doellingeria umbellata var. pubens,8,Doellingeria umbellata,8
Doellingeria umbellata var. umbellata,8,Doellingeria umbellata,8
Draba reptans var. reptans,4,Draba reptans,4
Draba reptans var. stellifera,4,Draba reptans,4
Draba verna,0,Erophila verna,0
Dryopteris ?lix-mas,10,Dryopteris filix-mas,10
Echinochloa colona,0,Echinochloa colonum,0
Echinodorus berteroi,4,Echinodorus berteroi var. lanceolatus,4
Eleocharis palustris,1,Eleocharis palustris,7
Eleocharis tenuis,8,Eleocharis elliptica,10
Elyhordium x macounii,0,Elyhordium macounii,0
Elyhordium x montanense,0,Elyhordium montanense,0
Elymus curvatus,4,Elmyus submuticus,4
Elymus hystrix,5,Hystrix patula,5
Elymus hystrix var. bigeloviana,5,Hystrix patula,5
Elymus hystrix var. hystrix,5,Hystrix patula,5
Elymus lanceolatus,0,Elytrigia dasystachya,0
Elymus lanceolatus ssp. psammophilus,0,Elytrigia dasystachya subsp. psammophila,0
Elymus repens,0,Elytrigia repens,0
Elymus trachycaulus,8,Roegneria trachycaula,8
Elymus trachycaulus ssp. subsecundus,8,Roegneria subsecunda,8
Elytrigia elongata,0,Thinopyrum ponticum,0
Eragrostis mexicana,0,Eragrostis pectinacea,0
Eragrostis reptans,0,Eragrostis hypnoides,5
Eragrostis trichodes var. pilifera,0,Eragrostis trichodes,0
Eragrostis trichodes var. trichodes,0,Eragrostis trichodes,0
Erianthus ravennae,0,Saccharum ravennae,0
Erigeron canadensis,0,Conyza canadensis,0
Eriophorum vaginatum var. spissum,10,Eriophorum vaginatum,10
Erysimum hieracifolium,0,Erysimum hieraciifolium,0
Eschscholtzia californica,0,Eschscholzia californica,0
Euonymus hederaceus,0,Euonymus fortunei,0
Euphorbia esula,0,Euphorbia virgata,0
Euphorbia heterophylla,0,Euphorbia cyathophora,0
Festuca ?liformis,0,Festuca filiformis,0
Festuca ovina,0,Festuca trachyphylla,0
Festuca saximontana,6,Festuca saximontana,7
Ficaria verna ssp. fragilis,0,Ficaria verna subsp. fertilis,0
Fragaria vesca ssp. americana,8,Fragaria vesca subsp. americana,8
Froelichia ?oridana,0,Froelichia floridana,0
Fumaria of?cinalis,0,Fumaria officinalis,0
Galium circaezans,5,NA,NA
Galium mollugo,0,Galium album,0
Galium pedemontanum,0,Cruciata pedemontana,0
Gaura ?lipes,0,Stenosiphon linifolius,0
Gaura biennis,2,Gaura biennis,0
Gentiana andrewsii var. andrewsii,9,Gentiana andrewsii,9
Gentiana septem?da,0,Gentiana septemfida,0
Gentianella quinquefolia ssp. occidentalis,8,Gentiana quinqufolia subsp. occidentalis,8
Geum laciniatum var. laciniatum,3,Geum laciniatum,3
Geum laciniatum var. trichocarpum,3,Geum laciniatum,3
Gymnocladus dioicus,8,Gymnocladus dioicus,5
Helanthium tenellum,10,Helanthium parvulum,10
Helianthemum bicknellii,8,Crocanthemum bicknellii,8
Helianthemum canadense,7,Crocanthemum canadense,7
Helianthus hirsutus var. hirsutus,5,Helianthus hirsutus,7
Helianthus hirsutus var. trachyphyllus,5,Helianthus hirsutus,7
Helianthus maximilianii,0,Helianthus maximiliani,0
Helianthus pauci?orus,9,Helianthus pauciflorus,9
Helianthus subrhomboideus,9,Helianthus pauciflorus,9
Helianthus x laeti?orus,5,Helianthus x laetiflorus,5
Heliopsis helianthoides var. helianthoides,7,Heliopsis helianthoides,7
Heliopsis helianthoides var. scabra,7,Heliopsis helianthoides,7
Hemerocallis lilio-asphodelus,0,Hemerocallis lilioasphodelus,0
Heserostipa comata,0,Hesperostipa comata,0
Heserostipa spartea,8,Hesperostipa spartea,8
Hibiscus moscheutos,7,Hibiscus palustris,7
Hieracium scabrum var. intonsum,7,Hieracium scabrum,7
Hieracium scabrum var. scabrum,7,Hieracium scabrum,7
Hordeum marinum,0,Hordeum marinum subsp. gussoneanum,0
Hordeum vulgare var. trifurcatum,0,Hordeum vulgare,0
Hordeum vulgare var. vulgare,0,Hordeum vulgare,0
Humulus lupulus,3,Humulus lupulus var. pubescens,3
Hylotelephium x erythrostictum,0,Hylotelephium erythrostictum,0
Hypericum fraseri,8,Triadenum fraseri,8
Hypericum virginicum,10,Triadenum virginicum,10
Impatiens baifourii,0,Impatiens balfourii,0
Impatiens capensis,3,Impatiens capensis,4
Ionactis linariifolius,10,Ionactis linariifolia,10
Ipomoea pandurata,5,Ipomoea pandurata,4
Iris ?avescens,0,Iris flavescens,0
Iris x germanica,0,Iris germanica,0
Juncus alpinoarticulatus ssp. americanus,8,Juncus alpinoarticulatus,8
Juncus balticus ssp. littoralis,2,Juncus balticus,2
Juncus effusus ssp. solutus,5,Juncus effusus,5
Juniperus communis var. communis,8,Juniperis communis,8
Juniperus communis var. depressa,8,Juniperis communis,8
Kallstroemia parvi?ora,0,Kallstroemia parviflora,0
Kochia scoparia,0,Bassia scoparia,0
Lamium galeobdolon,0,Lamiastrum galeobdolon,0
Lathyrus japonicus var. maritimus,10,Lathyrus japonicus var. glaber,10
Lathyrus palustris,7,Lathyrus palustris,8
Lechea pulchella,7,Lechea pulchella,8
Leptoloma cognatum,1,Leptoloma cognata,1
Lespedeza intermedia,8,Lespedeza violacea,10
Liatris aspera var. aspera,8,Liatris aspera,8
Linaria genistifolia ssp. dalmatica,0,Linaria dalmatica,0
Lindernia dubia var. anagallidea,4,Lindernia anagallidea,4
Lindernia dubia var. dubia,4,Lindernia dubia,4
Linnaea borealis ssp. longiflora,10,Linnaea borealis subsp. longiflora,10
Liparis lilifolia,4,Liparis liliifolia,4
Lithospermum of?cinale,0,Lithospermum officinale,0
Lobelia spicata var. hirtella,4,Lobelia spicata,4
Lobelia spicata var. spicata,4,Lobelia spicata,4
Lolium perenne ssp. multiflorum,0,Lolium multiflorum,0
Lolium perenne ssp. perenne,0,Lolium perenne,0
Lonicera x minuti?ora,0,Lonicera x minutiflora,0
Lotus unifoliolatus,0,Acmispon americanus,0
Ludwi
gitextract_c_u5i91x/ ├── .gitignore ├── ANOVA in R/ │ ├── README.md │ └── Script - anova in R.R ├── ANOVA in R - a complete example/ │ ├── README.md │ └── Script - ANOVA in R - a complete example.R ├── Add great alt text / │ ├── README.md │ └── alt text.qmd ├── All about facets/ │ ├── README.md │ └── script - facets.R ├── All about system prompts/ │ ├── README.md │ └── script - system prompts.R ├── Avoiding data dredging/ │ ├── README.md │ └── Script - data dredging.R ├── Beautiful bar charts in R/ │ ├── README.md │ └── Script - beautiful bar charts in R.R ├── Beautiful presentations/ │ ├── README.md │ ├── dt_example.xlsx │ └── quarto presentations.qmd ├── Beautiful tables with gt/ │ ├── README.md │ └── gt tables.qmd ├── Better box plots with ggplot/ │ ├── README.md │ └── Script - better box plots with ggplot.R ├── Bibliographies with R and Quarto/ │ ├── Quarto bibliographies.qmd │ ├── README.md │ ├── elsevier-with-titles.csl │ └── my-bib.bib ├── Binning variables in R/ │ ├── README.md │ ├── script - binning variables.R │ └── titanic.xlsx ├── Bivariate continuous probability distributions/ │ └── README.md ├── Combining columns in R with unite()/ │ ├── README.md │ └── unite.R ├── Combining data sets with left_join/ │ ├── README.md │ └── left_join.R ├── Combining observations with bind_rows()/ │ ├── README.md │ └── bind_rows.R ├── Computing normal probabilities examples/ │ └── README.md ├── Conditional probability distributions/ │ └── README.md ├── Contingency tables in R/ │ ├── README.md │ └── Script - contingency tables.R ├── Controlling the family-wise error rate/ │ ├── README.md │ └── Script - controlling the fwer.R ├── Creating columns with mutate/ │ ├── README.md │ └── script - mutate.R ├── Cross references in R and Quarto/ │ ├── README.md │ └── cross references.qmd ├── Data analysis - Billboard Hot 100/ │ ├── README.md │ └── Script - billboard_top_100.R ├── Data analysis - US colleges/ │ ├── README.md │ └── Script - analyzing college data.R ├── Data analysis - age gaps and bechdel tests/ │ ├── README.md │ └── script - age gaps.R ├── Data analysis - floristic quality/ │ ├── README.md │ ├── Script - floristic quality data.R │ └── student floristic quality data/ │ ├── lfc_fqa_team1.xlsx │ ├── lfc_fqa_team2.xlsx │ └── lfc_fqa_team3.xlsx ├── Data analysis - scooby doo/ │ ├── README.md │ └── script - analyzing scooby doo.R ├── Data visualization in 36 minutes/ │ ├── README.md │ └── Script - dataviz.R ├── Data wrangling with R/ │ ├── README.md │ └── script - data wrangling.R ├── Deviance in logistic regression/ │ ├── README.md │ └── script - deviance in log models.R ├── Discrete bivariate distributions/ │ └── README.md ├── Du Bois challenge plate 25/ │ ├── README.md │ ├── camcorder_code.R │ ├── du bois script.R │ └── du bois_math.ggb ├── Essential R tools for regression modeling/ │ ├── README.md │ └── broom.R ├── Gamma distribution/ │ └── README.md ├── Gamma distribution in R/ │ ├── README.md │ └── Script - the gamma distribution in R.R ├── Getting started with R/ │ ├── README.md │ └── amy.csv ├── Getting started with simple linear regression/ │ └── README.md ├── Git branches and merges/ │ ├── README.md │ ├── pivot longer.R │ └── pivot wider.R ├── Git setup/ │ ├── README.md │ └── git for R users.R ├── Goodness of fit testing example/ │ ├── README.md │ └── Script - goodness of fit example.R ├── Graphing functions/ │ ├── README.md │ └── script - graphing functions.R ├── How to add annotations/ │ ├── README.md │ └── Script - annotate.R ├── How to add color to R ggplots/ │ ├── README.md │ └── script - how to add color to R ggplots.R ├── How to create an other category/ │ ├── README.md │ ├── lumping variables.R │ └── quitting.csv ├── How to make a pride flag/ │ ├── README.md │ └── script - pride flag.R ├── How to purrr/ │ ├── README.md │ └── script - purrr.R ├── How to put a project onto GitHub/ │ ├── README.md │ └── github setup.R ├── How to show a ggplot to AI/ │ ├── README.md │ └── script - ggplot with AI.R ├── Hypothesis testing in R/ │ ├── README.md │ └── Script - hypothesis testing in R.R ├── If-else statements in R/ │ ├── README.md │ ├── Script - ifelse.R │ └── plant_updates.csv ├── Imputing missing bikeshare data/ │ ├── README.md │ └── bikeshare missing data.R ├── Integrate AI with GitHub Copilot/ │ ├── README.md │ ├── scooby.xlsx │ └── script - integrating AI.R ├── Latex for R users/ │ ├── LaTeX for R users.qmd │ └── README.md ├── Learn R in 39 minutes/ │ ├── README.md │ ├── Scooby.xlsx │ └── script - R in 39.R ├── Linear modeling using categorical variables/ │ ├── README.md │ └── Script - parallel slopes models.R ├── Locating files with here()/ │ ├── README.md │ ├── Scooby.xlsx │ └── Script - here.R ├── Log-normal/ │ └── README.md ├── Log-normal in R/ │ ├── README.md │ └── script - lognormal in R.R ├── Logistic regression example/ │ ├── README.md │ └── logistic regression in R example.R ├── Logistic regression in R/ │ ├── README.md │ ├── admissions.csv │ └── script - logistic regression in R.R ├── Maximum likelihood example/ │ └── README.md ├── Multiple linear regression in R/ │ ├── README.md │ └── Script - multiple regression in R.R ├── Multiple linear regression with interaction in R/ │ ├── README.md │ └── Script - multiple linear regression with interaction.R ├── Multiple regression in R - example/ │ ├── README.md │ ├── Script - multiple regression in R - example.R │ └── parenthood.Rdata ├── Mutating data frames with case_when/ │ ├── README.md │ ├── Script - case_when.R │ └── gradebook.csv ├── Nested data frames and multiple models/ │ ├── README.md │ └── Script - multiple models.R ├── Normal distribution in R/ │ ├── README.md │ └── Script - normal distribution in R.R ├── Not-so-simple linear regression/ │ ├── README.md │ └── simple linear regression.R ├── Organizing bar charts by frequency/ │ ├── README.md │ └── Script - organizing bar charts by frequency.R ├── Overfitting in machine learning/ │ ├── README.md │ └── overfitting demonstration.R ├── Percentiles in R/ │ ├── README.md │ └── script - percentiles.R ├── Percentiles of continuous distributions/ │ └── README.md ├── Pie charts with R/ │ ├── README.md │ └── pie charts.R ├── Poisson regression/ │ ├── README.md │ └── websites.xlsx ├── Poisson regression in R/ │ ├── README.md │ └── script - poisson in R.R ├── Prediction intervals for linear models/ │ ├── README.md │ └── Script - prediction intervals.R ├── R Markdown/ │ ├── R Markdown practice.Rmd │ ├── R-Markdown-practice.html │ └── README.md ├── README.md ├── Regression analysis - backward selection/ │ ├── README.md │ ├── Slides - bss.R │ └── performance.csv ├── Repositioning ggplot legends/ │ ├── README.md │ └── Script - repositioning ggplot legends.R ├── Return of the starwars data set/ │ ├── README.md │ └── script - starwars.R ├── Scatterplots and regression lines in R/ │ ├── README.md │ └── Script - scatterplots and regression lines.R ├── Sensitivity, specificity, precision, recall/ │ └── README.md ├── Simple linear regression with R (intro)/ │ └── README.md ├── Simpson's paradox/ │ ├── README.md │ ├── batting.csv │ └── script - simpsons paradox.R ├── Splitting columns in R with separate()/ │ ├── README.md │ └── script - splitting columns with separate.R ├── Splitting data frames with slice()/ │ ├── README.md │ └── Script - splitting data sets.R ├── Statistical power and sample size/ │ └── README.md ├── Teaching an AI to webscrape/ │ ├── README.md │ └── ellmer tools.R ├── The poisson distribution/ │ └── README.md ├── Tidy data/ │ └── README.md ├── Tidy tuesday analysis - Ravelry yarn/ │ ├── README.md │ └── yarn script.R ├── Tidying data with pivot_longer/ │ ├── 03 - Body Temperatures.xlsx │ ├── README.md │ └── Script - pivot_longer.R ├── Tidying data with pivot_wider/ │ ├── FQA.csv │ ├── README.md │ └── Script - pivot_wider.R ├── Type I and type II errors/ │ └── README.md ├── Understand ANOVA in 8 minutes/ │ └── README.md ├── Understanding R functions/ │ ├── README.md │ └── script - undedrstanding R functions.R ├── Understanding geom_smooth/ │ ├── README.md │ └── script - geom_smooth.R ├── Understanding the chi-squared distribution/ │ └── README.md ├── Uniform distribution/ │ └── README.md ├── Using Quarto with R and Python/ │ ├── Quarto demo.qmd │ └── README.md ├── What are order statistics?/ │ └── README.md ├── What is Anscombe's quartet?/ │ ├── README.md │ └── Script - Anscombe.R ├── What is quarto?/ │ ├── README.md │ ├── erykah.xlsx │ └── what is quarto.qmd ├── What is the central limit theorem?/ │ └── README.md ├── Working with lists in R/ │ ├── README.md │ └── Script - lists in R.R ├── Write your own R functions/ │ ├── README.md │ └── Script - functions.R ├── Writing prompts using interpolate()/ │ ├── README.md │ └── interpolate.R └── youtube.Rproj
Condensed preview — 221 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (980K chars).
[
{
"path": ".gitignore",
"chars": 51,
"preview": ".Rproj.user\n.Rhistory\n.RData\n.Ruserdata\n.DS_Store \n"
},
{
"path": "ANOVA in R/README.md",
"chars": 249,
"preview": "# ANOVA in R\n[<img src=\"anovaR thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/GokvYQiGdm0>)\n\nHi everybody! "
},
{
"path": "ANOVA in R/Script - anova in R.R",
"chars": 338,
"preview": "# Analysis of variance\n# Is weight independent from feed?\n\nlibrary(tidyverse)\nView(chickwts)\n?chickwts\n\nggplot(chickwts,"
},
{
"path": "ANOVA in R - a complete example/README.md",
"chars": 292,
"preview": "# ANOVA in R: a complete example\n[<img src=\"anova thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/L81JI_"
},
{
"path": "ANOVA in R - a complete example/Script - ANOVA in R - a complete example.R",
"chars": 504,
"preview": "library(tidyverse)\nlibrary(palmerpenguins)\n# Does species help explain flipper length?\n\nglimpse(penguins)\nggplot(penguin"
},
{
"path": "Add great alt text /README.md",
"chars": 318,
"preview": "# Add great alt text to your data visualizations\n[<img src=\"alt thumb.png\" align=\"right\" height=\"100\" />](<https://youtu"
},
{
"path": "Add great alt text /alt text.qmd",
"chars": 1135,
"preview": "---\ntitle: \"Writing good alt text: example\"\nauthor: Andrew Gard\nformat: html\n---\n\n```{r}\n#| label: setup\n#| message: fal"
},
{
"path": "All about facets/README.md",
"chars": 261,
"preview": "# All about facets\n[<img src=\"facets thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/n6P7eLG80D8>)\n\nHi every"
},
{
"path": "All about facets/script - facets.R",
"chars": 2126,
"preview": "# All about facets\n\nlibrary(tidyverse)\nlibrary(modeldata)\ntheme_set(theme_minimal())\n\n# create data set\nset.seed(0)\nn <-"
},
{
"path": "All about system prompts/README.md",
"chars": 285,
"preview": "# All about system prompts\n[<img src=\"system prompts thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/RDnRiGu"
},
{
"path": "All about system prompts/script - system prompts.R",
"chars": 1886,
"preview": "# All about system prompts\nlibrary(ellmer)\n?chat_anthropic\n\n\n# A decent all-around system prompt for coding\n\nclaude <- c"
},
{
"path": "Avoiding data dredging/README.md",
"chars": 279,
"preview": "# Avoiding data dredging\n[<img src=\"dredging thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/D-6Auei1U9Q"
},
{
"path": "Avoiding data dredging/Script - data dredging.R",
"chars": 608,
"preview": "# Data dredging\n\nlibrary(tidyverse)\ntheme_set(theme_minimal())\n\n# Generate random data\n\nset.seed(1234)\n\ndf1 <- matrix(rn"
},
{
"path": "Beautiful bar charts in R/README.md",
"chars": 280,
"preview": "# Beautiful bar charts in R\n[<img src=\"bar thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/HvOQFQzIg5c>)"
},
{
"path": "Beautiful bar charts in R/Script - beautiful bar charts in R.R",
"chars": 1581,
"preview": "library(tidyverse)\nlibrary(tidytuesdayR)\nlibrary(ISLR2)\ntuesdata <- tidytuesdayR::tt_load(2021, week = 41)\nnurses <- tue"
},
{
"path": "Beautiful presentations/README.md",
"chars": 320,
"preview": "# Beautiful presentations with R and Quarto\n[<img src=\"presentations new thumb.png\" align=\"right\" height=\"100\" />](<http"
},
{
"path": "Beautiful presentations/quarto presentations.qmd",
"chars": 1704,
"preview": "---\ntitle: \"Decision trees\"\nauthor: Andrew Gard\ndate: 25 feb 2025\nformat: \n revealjs:\n footer: \"Equitable equations:"
},
{
"path": "Beautiful tables with gt/README.md",
"chars": 309,
"preview": "# Beautiful tables with R with the gt package\n[<img src=\"gt thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/"
},
{
"path": "Beautiful tables with gt/gt tables.qmd",
"chars": 1952,
"preview": "---\ntitle: \"Beautiful tables with gt()\"\nauthor: Andrew Gard\nformat: html\n---\n\n```{r}\n#| label: setup\n#| include: false\n\n"
},
{
"path": "Better box plots with ggplot/README.md",
"chars": 291,
"preview": "# Better box plots in R with ggplot\n[<img src=\"boxplots.jpg\" align=\"right\" height=\"100\" />](<https://youtu.be/FDngvXOGst"
},
{
"path": "Better box plots with ggplot/Script - better box plots with ggplot.R",
"chars": 486,
"preview": "library(tidyverse)\nlibrary(modeldata)\n?geom_boxplot\n\nglimpse(msleep)\n\nggplot(msleep, aes(x = vore, \n y "
},
{
"path": "Bibliographies with R and Quarto/Quarto bibliographies.qmd",
"chars": 175,
"preview": "---\ntitle: \"Quarto bibliographies\"\nauthor: Andrew Gard\nformat: html\nbibliography: my-bib.bib\nnocite: |\n @*\ncsl: elsevie"
},
{
"path": "Bibliographies with R and Quarto/README.md",
"chars": 290,
"preview": "# Bibliographies with R and Quarto\n[<img src=\"bib thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/w3X76e_tZr"
},
{
"path": "Bibliographies with R and Quarto/elsevier-with-titles.csl",
"chars": 5297,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<style xmlns=\"http://purl.org/net/xbiblio/csl\" class=\"in-text\" version=\"1.0\" demo"
},
{
"path": "Bibliographies with R and Quarto/my-bib.bib",
"chars": 2507,
"preview": "%% This BibTeX bibliography file was created using BibDesk.\n%% https://bibdesk.sourceforge.io/\n\n%% Created for equitable"
},
{
"path": "Binning variables in R/README.md",
"chars": 278,
"preview": "# Binning variables in R\n[<img src=\"binning thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/mWSlUoeukmk>"
},
{
"path": "Binning variables in R/script - binning variables.R",
"chars": 721,
"preview": "# binning quantitative variables in R\nlibrary(tidyverse)\nlibrary(readxl)\ntheme_set(theme_minimal())\n\ntitanic <- read_exc"
},
{
"path": "Bivariate continuous probability distributions/README.md",
"chars": 334,
"preview": "# Bivariate distributions of continuous random variables\n[<img src=\"cts thumb.png\" align=\"right\" height=\"100\" />](<https"
},
{
"path": "Combining columns in R with unite()/README.md",
"chars": 302,
"preview": "# Combining columns in R with unite()\n[<img src=\"unite new thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/G"
},
{
"path": "Combining columns in R with unite()/unite.R",
"chars": 456,
"preview": "library(tidyverse)\nlibrary(nycflights13)\n\n?unite\n\nglimpse(flights)\n\nflights_ee <- flights %>% \n unite(date, \n ye"
},
{
"path": "Combining data sets with left_join/README.md",
"chars": 295,
"preview": "# Combining data sets with left_join\n[<img src=\"join_thumb.jpg\" align=\"right\" height=\"100\" />](<https://youtu.be/r2Pzjyw"
},
{
"path": "Combining data sets with left_join/left_join.R",
"chars": 516,
"preview": "library(tidyverse)\nlibrary(babynames)\n?left_join\n\nbabynames\napplicants\n\nleft_join(babynames, appllicants)\n\n\n\n\n# Building"
},
{
"path": "Combining observations with bind_rows()/README.md",
"chars": 306,
"preview": "# Combining observations with bind_rows\n[<img src=\"bind_rows thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be"
},
{
"path": "Combining observations with bind_rows()/bind_rows.R",
"chars": 1051,
"preview": "# combining sets using bind_rows\nlibrary(tidyverse)\n?bind_rows\n\n# construct data sets \n\nmsleep1 <- data.frame(name = c(\""
},
{
"path": "Computing normal probabilities examples/README.md",
"chars": 313,
"preview": "# Computing normal probabilities: examples\n[<img src=\"normal thumb new.png\" align=\"right\" height=\"100\" />](<https://yout"
},
{
"path": "Conditional probability distributions/README.md",
"chars": 308,
"preview": "# Conditional probability distributions\n[<img src=\"conditional thumb.png\" align=\"right\" height=\"100\" />](<https://youtu."
},
{
"path": "Contingency tables in R/README.md",
"chars": 279,
"preview": "# Contingency tables in R\n[<img src=\"tables thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/1-Fyi0iJ4I8>"
},
{
"path": "Contingency tables in R/Script - contingency tables.R",
"chars": 329,
"preview": "# Contingency tables\nlibrary(ISLR2)\n?table\n\nt <- table(Carseats$Urban, Carseats$ShelveLoc)\nstr(t)\ndim(t)\n\naddmargins(t)\n"
},
{
"path": "Controlling the family-wise error rate/README.md",
"chars": 307,
"preview": "# Controlling the family-wise error rate\n[<img src=\"fwer thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be"
},
{
"path": "Controlling the family-wise error rate/Script - controlling the fwer.R",
"chars": 152,
"preview": "# Correcting for multiple testing\n?p.adjust\n\np <- c(0.005, 0.011, 0.025, 0.035, .045)\n\np.adjust(p, method = \"bonferroni\""
},
{
"path": "Creating columns with mutate/README.md",
"chars": 339,
"preview": "# Creating columns in R with mutate()\n[<img src=\"mutate thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/8g4D"
},
{
"path": "Creating columns with mutate/script - mutate.R",
"chars": 454,
"preview": "library(tidyverse)\n?mutate\n\nIslands <- data.frame(Island = names(islands), \n Area = islands,\n "
},
{
"path": "Cross references in R and Quarto/README.md",
"chars": 295,
"preview": "# Cross references in R and Quarto\n[<img src=\"refs thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/evBG6"
},
{
"path": "Cross references in R and Quarto/cross references.qmd",
"chars": 933,
"preview": "---\ntitle: \"Cross references\"\nauthor: \"Andrew Gard\"\nnumber-sections: true\nformat: html\n---\n\n```{r}\n#| label: setup\n#| in"
},
{
"path": "Data analysis - Billboard Hot 100/README.md",
"chars": 318,
"preview": "# Data analysis with R: the Billboard Hot 100\n[<img src=\"billboard thumb.png\" align=\"right\" height=\"100\" />](<https://yo"
},
{
"path": "Data analysis - Billboard Hot 100/Script - billboard_top_100.R",
"chars": 1229,
"preview": "# billboard top 100\n# Tidy Tuesday Sept. 14, 2021\n\nlibrary(tidyverse)\nlibrary(tidytuesdayR)\ntuesdata <- tidytuesdayR::tt"
},
{
"path": "Data analysis - US colleges/README.md",
"chars": 300,
"preview": "# Data analysis with R: US colleges\n[<img src=\"college thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/C"
},
{
"path": "Data analysis - US colleges/Script - analyzing college data.R",
"chars": 2160,
"preview": "library(tidyverse)\nlibrary(ISLR2)\n\n# Do colleges with larger full-time enrollments\n# have lower graduation rates?\n# Is t"
},
{
"path": "Data analysis - age gaps and bechdel tests/README.md",
"chars": 326,
"preview": "# Data analysis with R: age gaps and Bechdel tests\n[<img src=\"bechdel_thumb.png\" align=\"right\" height=\"100\" />](<https:/"
},
{
"path": "Data analysis - age gaps and bechdel tests/script - age gaps.R",
"chars": 2206,
"preview": "# Question: is there a correlation between age\n# gaps and Bechdel ratings?\n# For this purpose: gap = man's age - woman's"
},
{
"path": "Data analysis - floristic quality/README.md",
"chars": 310,
"preview": "# Data analysis with R: floristic quality\n[<img src=\"floristic thumb.png\" align=\"right\" height=\"100\" />](<https://youtu."
},
{
"path": "Data analysis - floristic quality/Script - floristic quality data.R",
"chars": 2538,
"preview": "# Student floristic quality data analysis\n# Question: were the C-values of the 4 transects different from one another?\n\n"
},
{
"path": "Data analysis - scooby doo/README.md",
"chars": 297,
"preview": "# Data analysis with R: Scooby Doo\n[<img src=\"scooby thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/3av"
},
{
"path": "Data analysis - scooby doo/script - analyzing scooby doo.R",
"chars": 2514,
"preview": "# Scooby dooby doo!\n\nlibrary(tidyverse)\ntheme_set(theme_minimal())\n\nlibrary(tidytuesdayR)\ntuesdata <- tidytuesdayR::tt_l"
},
{
"path": "Data visualization in 36 minutes/README.md",
"chars": 308,
"preview": "# Data visualization with R in 36 minutes\n[<img src=\"dataviz thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be"
},
{
"path": "Data visualization in 36 minutes/Script - dataviz.R",
"chars": 2990,
"preview": "library(tidyverse)\nlibrary(modeldata)\n?ggplot\n\n?crickets\nView(crickets)\n\n# The basics\n\nggplot(crickets, aes(x = temp, \n "
},
{
"path": "Data wrangling with R/README.md",
"chars": 278,
"preview": "# Data wrangling with R\n[<img src=\"wrangling new thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/oXImkptBpqc"
},
{
"path": "Data wrangling with R/script - data wrangling.R",
"chars": 3021,
"preview": "# Data wrangling with tidyverse R\n# install.packages(\"tidyverse\") only need to do once\nlibrary(tidyverse)\n\n?diamonds\n\n# "
},
{
"path": "Deviance in logistic regression/README.md",
"chars": 307,
"preview": "# Deviance in logistic regression models\n[<img src=\"deviance thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be"
},
{
"path": "Deviance in logistic regression/script - deviance in log models.R",
"chars": 592,
"preview": "library(tidyverse)\n\niris <- iris %>% \n mutate(setosa = as.integer(Species == \"setosa\"))\n\nggplot(iris, aes(x = Sepal.Len"
},
{
"path": "Discrete bivariate distributions/README.md",
"chars": 296,
"preview": "# Discrete bivariate distributions\n[<img src=\"bivariate thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/8N51"
},
{
"path": "Du Bois challenge plate 25/README.md",
"chars": 306,
"preview": "# Dataviz with R: the Du Bois challenge\n[<img src=\"dubois25 thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/"
},
{
"path": "Du Bois challenge plate 25/camcorder_code.R",
"chars": 8741,
"preview": "library(tidyverse)\nlibrary(camcorder)\n\ngg_record(\n \"dubois gif\",\n device = \"png\", \n width = 5, \n height = 6, "
},
{
"path": "Du Bois challenge plate 25/du bois script.R",
"chars": 9629,
"preview": "# W.E.B. Du Bois data portraits plate 25\n# Ref: Battle-Baptiste and Rusert (book)\n# Ref: AJ Starks (style guide)\n\nlibrar"
},
{
"path": "Essential R tools for regression modeling/README.md",
"chars": 314,
"preview": "# Essential R tools for regression modeling\n[<img src=\"broom thumb new.png\" align=\"right\" height=\"100\" />](<https://yout"
},
{
"path": "Essential R tools for regression modeling/broom.R",
"chars": 657,
"preview": "# See https://github.com/equitable-equations/youtube \n# for analysis of the College data set.\n\n# Preliminaries:\n\nlibrary"
},
{
"path": "Gamma distribution/README.md",
"chars": 276,
"preview": "# The gamma distribution\n[<img src=\"gamma thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/cpW40zPdAQ8>)\n"
},
{
"path": "Gamma distribution in R/README.md",
"chars": 282,
"preview": "# The gamma distribution in R\n[<img src=\"gamma thumb.jpg\" align=\"right\" height=\"100\" />](<https://youtu.be/gi47yb5_9xg>)"
},
{
"path": "Gamma distribution in R/Script - the gamma distribution in R.R",
"chars": 254,
"preview": "1 - pgamma(60, 25, 1/3)\n1 - pgamma(60, 25, scale = 3)\n\nqgamma(.95, 5, 1/3)\n\ntimes <- rgamma(1000, 5, 1/3) \ntimes # your "
},
{
"path": "Getting started with R/README.md",
"chars": 282,
"preview": "# Getting started with R\n[<img src=\"getting started thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/ftb7u_Ju"
},
{
"path": "Getting started with R/amy.csv",
"chars": 62938,
"preview": "artist_name,artist_id,album_id,album_type,album_images,album_release_date,album_release_year,album_release_date_precisio"
},
{
"path": "Getting started with simple linear regression/README.md",
"chars": 326,
"preview": "# Getting started with simple linear regression in R\n[<img src=\"slr thumb.png\" align=\"right\" height=\"100\" />](<https://y"
},
{
"path": "Git branches and merges/README.md",
"chars": 305,
"preview": "# Git for R users: branches and merges\n[<img src=\"git branches thumb.png\" align=\"right\" height=\"100\" />](<https://youtu."
},
{
"path": "Git branches and merges/pivot longer.R",
"chars": 915,
"preview": "# pivot longer: billboard\n\nlibrary(tidyverse)\n\n# the pivot\nbillboard_long <- billboard %>% \n pivot_longer(cols = starts"
},
{
"path": "Git branches and merges/pivot wider.R",
"chars": 176,
"preview": "# pivot wider: table2\n\n# load packages\nlibrary(tidyverse)\n\n# the problem\ntable2\n\n# the solution\ntable2 %>% \n pivot_wide"
},
{
"path": "Git setup/README.md",
"chars": 274,
"preview": "# Git for R users: setup\n[<img src=\"git setup thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/njMEXGfUQG8>)\n"
},
{
"path": "Git setup/git for R users.R",
"chars": 284,
"preview": "# First install git.\n# Mac: Enter `git config` in the terminal\n# Windows: https://gitforwindows.org/\n\n\n# Setup ---------"
},
{
"path": "Goodness of fit testing example/README.md",
"chars": 310,
"preview": "# Goodness of fit testing with R - example\n[<img src=\"gof thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.b"
},
{
"path": "Goodness of fit testing example/Script - goodness of fit example.R",
"chars": 240,
"preview": "# Goodness of fit testing example\n\nobs <- c(12, 31, 36, 21)\nexp_props <- dbinom(0:3, 3, .5)\nexp_props\nexp <- exp_props *"
},
{
"path": "Graphing functions/README.md",
"chars": 304,
"preview": "# Graphing functions in R using ggplot\n[<img src=\"functions thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/"
},
{
"path": "Graphing functions/script - graphing functions.R",
"chars": 993,
"preview": "# Plotting functions with ggplot()\nlibrary(tidyverse)\n\nggplot() +\n xlim(c(-3, 3)) + \n geom_function(fun = dnorm)\n\nggpl"
},
{
"path": "How to add annotations/README.md",
"chars": 314,
"preview": "# How to add annotations to ggplots in R\n[<img src=\"annotations thumb new.png\" align=\"right\" height=\"100\" />](<https://y"
},
{
"path": "How to add annotations/Script - annotate.R",
"chars": 727,
"preview": "library(tidyverse)\ntheme_set(theme_minimal())\n\nset.seed(1)\nt <- slice_sample(trees, n = 5)\n\np <- ggplot(t, aes(x = Girth"
},
{
"path": "How to add color to R ggplots/README.md",
"chars": 288,
"preview": "# How to add colors to R ggplots\n[<img src=\"color thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/9yV77Ru6FR"
},
{
"path": "How to add color to R ggplots/script - how to add color to R ggplots.R",
"chars": 504,
"preview": "# Better use of color in R\n\nlibrary(tidyverse)\ntheme_set(theme_minimal())\nview(mpg)\n\nggplot(mpg, aes(x = cty, y = hwy)) "
},
{
"path": "How to create an other category/README.md",
"chars": 308,
"preview": "# How to create an \"other\" category in R\n[<img src=\"other thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.b"
},
{
"path": "How to create an other category/lumping variables.R",
"chars": 888,
"preview": "# creating an 'other' category \n\nlibrary(tidyverse)\n?fct_lump\n\nquitting <- read_csv(\"quitting.csv\")\nView(quitting)\n\nggpl"
},
{
"path": "How to create an other category/quitting.csv",
"chars": 21133,
"preview": "employee_id,reason\n905892,bored\n902948,salary\n905732,no_advancement\n901026,bored\n901560,dislike_boss\n903671,dislike_boss"
},
{
"path": "How to make a pride flag/README.md",
"chars": 290,
"preview": "# How to make a pride flag with R\n[<img src=\"pride thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/mk8k7_3SJ"
},
{
"path": "How to make a pride flag/script - pride flag.R",
"chars": 470,
"preview": "library(tidyverse)\n\ncolors <- c(\"#770088\",\n \"#004CFF\",\n \"#028121\",\n \"#FFEE00\",\n "
},
{
"path": "How to purrr/README.md",
"chars": 254,
"preview": "# How to purrr\n[<img src=\"purrr thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/nd-Y8b22YaQ>)\n\nHi everyb"
},
{
"path": "How to purrr/script - purrr.R",
"chars": 973,
"preview": "library(tidyverse)\n\nmap(1:5, sqrt)\n\nmap_dbl(1:5, sqrt)\nsqrt(1:5)\n\nsilly_list <- list(\"foo\",\n 1:5,\n "
},
{
"path": "How to put a project onto GitHub/README.md",
"chars": 291,
"preview": "# How to put a project onto GitHub\n[<img src=\"github thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/PViqL-B"
},
{
"path": "How to put a project onto GitHub/github setup.R",
"chars": 242,
"preview": "# GitHub setup\n# First, sign up for an account at www.github.com\nlibrary(usethis)\n\n# Connect RStudio to your GitHub\ncrea"
},
{
"path": "How to show a ggplot to AI/README.md",
"chars": 310,
"preview": "# How to show a ggplot to an AI assistant\n[<img src=\"ggplot_AI thumb.png\" align=\"right\" height=\"100\" />](<https://youtu."
},
{
"path": "How to show a ggplot to AI/script - ggplot with AI.R",
"chars": 2512,
"preview": "library(tidyverse)\nlibrary(ellmer)\n\nglimpse(msleep)\n\nggplot(msleep, aes(x = bodywt, \n y = brainwt)) + "
},
{
"path": "Hypothesis testing in R/README.md",
"chars": 279,
"preview": "# Hypothesis testing in R\n[<img src=\"hypothesis thumb.jpg\" align=\"right\" height=\"100\" />](<https://youtu.be/oNpfjcIf2Es>"
},
{
"path": "Hypothesis testing in R/Script - hypothesis testing in R.R",
"chars": 249,
"preview": "library(tidyverse)\n?airquality\nView(airquality)\n\nqplot(airquality$Wind, geom = \"histogram\")\nt.test(airquality$Wind, mu ="
},
{
"path": "If-else statements in R/README.md",
"chars": 273,
"preview": "# If-else statements in R\n[<img src=\"ifelse thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/zose3lQAN7o>)\n\nH"
},
{
"path": "If-else statements in R/Script - ifelse.R",
"chars": 987,
"preview": "# if-else statements in R\nlibrary(tidyverse)\n\n# the basics -------------------------------------------------------------"
},
{
"path": "If-else statements in R/plant_updates.csv",
"chars": 28966,
"preview": "scientific_name,c,name_2017,c_2017\nAcanthopanax sieboldianus,0,Eleutherococcus sieboldianus,0\nActaea rubra ssp. arguta,1"
},
{
"path": "Imputing missing bikeshare data/README.md",
"chars": 306,
"preview": "# Imputing missing bikeshare data with R\n[<img src=\"bikeshare thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.b"
},
{
"path": "Imputing missing bikeshare data/bikeshare missing data.R",
"chars": 1796,
"preview": "# Missing values in the Bikeshare data set\n\nlibrary(tidyverse)\nlibrary(ISLR2)\nlibrary(broom)\n\n?Bikeshare\nglimpse(Bikesha"
},
{
"path": "Integrate AI with GitHub Copilot/README.md",
"chars": 338,
"preview": "# Integrate AI into your R workflows with GitHub Copilot\n[<img src=\"copilot thumb.png\" align=\"right\" height=\"100\" />](<h"
},
{
"path": "Integrate AI with GitHub Copilot/script - integrating AI.R",
"chars": 1297,
"preview": "library(tidyverse)\n\nggplot(penguins,\n aes(x = bill_len, \n y = body_mass, \n color = species)) +"
},
{
"path": "Latex for R users/LaTeX for R users.qmd",
"chars": 699,
"preview": "---\ntitle: \"LaTeX for R users\"\nformat: \n latex:\n include-in-header: \n - text: \\usepackage{physics}\n---\n \n## Usi"
},
{
"path": "Latex for R users/README.md",
"chars": 264,
"preview": "# LaTeX for R users\n[<img src=\"latex new thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/eU_68QcZOi4>)\n\nHi e"
},
{
"path": "Learn R in 39 minutes/README.md",
"chars": 264,
"preview": "# Learn R in 39 minutes\n[<img src=\"learn R.png\" align=\"right\" height=\"100\" />](<https://youtu.be/yZ0bV2Afkjc>)\n\nHi every"
},
{
"path": "Learn R in 39 minutes/script - R in 39.R",
"chars": 974,
"preview": "library(tidyverse)\n\ndata()\nView(mpg)\n?mpg\n?mean\n\nglimpse(mpg)\n\n?filter\nfilter(mpg, cty >= 20)\nmpg_efficient <- filter(mp"
},
{
"path": "Linear modeling using categorical variables/README.md",
"chars": 375,
"preview": "# Linear modeling in R using categorical variables - parallel slopes models\n[<img src=\"parallel thumb.jpg\" align=\"right\""
},
{
"path": "Linear modeling using categorical variables/Script - parallel slopes models.R",
"chars": 1121,
"preview": "# multiple regression with a categorical explainer\nlibrary(tidyverse)\nlibrary(tidymodels)\ndata(crickets)\nView(crickets)\n"
},
{
"path": "Locating files with here()/README.md",
"chars": 293,
"preview": "# Locating files in R with here()\n[<img src=\"here thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/oh3b3k"
},
{
"path": "Locating files with here()/Script - here.R",
"chars": 319,
"preview": "# You should be working in a project called sample_project that includes a\n# folder called data containing the Scooby.xl"
},
{
"path": "Log-normal/README.md",
"chars": 284,
"preview": "# The log-normal distribution\n[<img src=\"lognormal new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/nGJtgFFcIxw"
},
{
"path": "Log-normal in R/README.md",
"chars": 294,
"preview": "# Log-normal calculations using R\n[<img src=\"lognormal r new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/XOBPc"
},
{
"path": "Log-normal in R/script - lognormal in R.R",
"chars": 222,
"preview": "# Log-normal problems\nlibrary(tidyverse)\n\n# Problem 1\nplnorm(1000, 6.1, 1.0) - plnorm(500, 6.1, 1.0)\n\n# Problem 2\nqlnorm"
},
{
"path": "Logistic regression example/README.md",
"chars": 300,
"preview": "# Logistic regression with R: example\n[<img src=\"log reg thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/_yN"
},
{
"path": "Logistic regression example/logistic regression in R example.R",
"chars": 1241,
"preview": "# Logistic regression in R: example\nlibrary(tidymodels)\n\n# Prep data\n\niris <- iris %>% \n mutate(setosa = as.integer(Spe"
},
{
"path": "Logistic regression in R/README.md",
"chars": 277,
"preview": "# Logistic regression in R\n[<img src=\"logistic thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/E7J3M1oYVlc>)"
},
{
"path": "Logistic regression in R/admissions.csv",
"chars": 12013,
"preview": "gpa,admitted\n2.3,0\n3,1\n2.5,0\n2.9,1\n3.7,1\n3.6,1\n3.2,1\n3.4,1\n2.1,0\n2.3,0\n2.6,0\n4,1\n4,1\n3.1,0\n3.9,1\n3.1,1\n2.6,0\n3.6,1\n3.3,0"
},
{
"path": "Logistic regression in R/script - logistic regression in R.R",
"chars": 1174,
"preview": "library(tidyverse)\ntheme_set(theme_minimal())\nadmissions <- read_csv(\"admissions.csv\")\nView(admissions)\n\nggplot(admissio"
},
{
"path": "Maximum likelihood example/README.md",
"chars": 305,
"preview": "# Maximum likelihood estimation - example\n[<img src=\"max thumb.jpeg\" align=\"right\" height=\"100\" />](<https://youtu.be/1R"
},
{
"path": "Multiple linear regression in R/README.md",
"chars": 290,
"preview": "# Multiple linear regression in R\n[<img src=\"reg thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/2Pp6Bd5"
},
{
"path": "Multiple linear regression in R/Script - multiple regression in R.R",
"chars": 870,
"preview": "# Multiple regression in R\nlibrary(tidyverse)\nlibrary(GGally)\nlibrary(broom)\n\n# The data -------------------------------"
},
{
"path": "Multiple linear regression with interaction in R/README.md",
"chars": 326,
"preview": "# Multiple linear regression with interaction in R\n[<img src=\"reg thumb new.png\" align=\"right\" height=\"100\" />](<https:/"
},
{
"path": "Multiple linear regression with interaction in R/Script - multiple linear regression with interaction.R",
"chars": 1868,
"preview": "library(tidyverse)\nlibrary(modeldata)\ntheme_set(theme_minimal())\ndata(penguins)\npenguins_sm <- filter(penguins, species "
},
{
"path": "Multiple regression in R - example/README.md",
"chars": 459,
"preview": "# Multiple regression in R: example\n[<img src=\"mr thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/_NS-SMi21m"
},
{
"path": "Multiple regression in R - example/Script - multiple regression in R - example.R",
"chars": 698,
"preview": "library(tidyverse)\nlibrary(broom)\nlibrary(GGally)\n\n# Download the LSR data sets from https://learningstatisticswithr.com"
},
{
"path": "Mutating data frames with case_when/README.md",
"chars": 295,
"preview": "# Mutating data frames with case_when\n[<img src=\"when thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/gkk8Zk"
},
{
"path": "Mutating data frames with case_when/Script - case_when.R",
"chars": 468,
"preview": "# Assigning letter grades using case_when\nlibrary(tidyverse)\ngradebook <- read_csv(\"Mutating data frames with case_when/"
},
{
"path": "Mutating data frames with case_when/gradebook.csv",
"chars": 478,
"preview": "name,score\nstudent 1,80\nstudent 2,66\nstudent 3,72\nstudent 4,75\nstudent 5,74\nstudent 6,71\nstudent 7,77\nstudent 8,49\nstude"
},
{
"path": "Nested data frames and multiple models/README.md",
"chars": 317,
"preview": "# Nested data frames and multiple models in R\n[<img src=\"nested thumb new.png\" align=\"right\" height=\"100\" />](<https://y"
},
{
"path": "Nested data frames and multiple models/Script - multiple models.R",
"chars": 1247,
"preview": "# Nested data frames, multiple models\n\nlibrary(tidymodels)\n\nglimpse(penguins)\n\npenguins_nested <- penguins |> \n group_b"
},
{
"path": "Normal distribution in R/README.md",
"chars": 285,
"preview": "# The normal distribution in R\n[<img src=\"normal thumb.jpg\" align=\"right\" height=\"100\" />](<https://youtu.be/q8baE17TAiU"
},
{
"path": "Normal distribution in R/Script - normal distribution in R.R",
"chars": 316,
"preview": "# The normal distribution in R\nlibrary(tidyverse)\n\n# Problem 1\npnorm(200, 192.9, 7.1) # less than 200 \n1 - pnorm(200, 19"
},
{
"path": "Not-so-simple linear regression/README.md",
"chars": 302,
"preview": "# Not-so-simple linear regression with R\n[<img src=\"nss thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/4wS3"
},
{
"path": "Not-so-simple linear regression/simple linear regression.R",
"chars": 852,
"preview": "# Simple linear regression - deep dive\n\nlibrary(tidymodels)\ntheme_set(theme_minimal())\nset.seed(0)\n\nView(airquality)\n\n# "
},
{
"path": "Organizing bar charts by frequency/README.md",
"chars": 306,
"preview": "# Arranging ggplot bar charts by frequency\n[<img src=\"bar thumb.jpg\" align=\"right\" height=\"100\" />](<https://youtu.be/80"
},
{
"path": "Organizing bar charts by frequency/Script - organizing bar charts by frequency.R",
"chars": 395,
"preview": "library(tidyverse)\n?fct_infreq\n\nglimpse(gss_cat)\nggplot(gss_cat, aes(x = marital)) +\n geom_bar() +\n them"
},
{
"path": "Overfitting in machine learning/README.md",
"chars": 296,
"preview": "# Overfitting in machine learning\n[<img src=\"overfitting thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/-cO"
},
{
"path": "Overfitting in machine learning/overfitting demonstration.R",
"chars": 1835,
"preview": "# Overfitting demonstration\n\nlibrary(tidyverse)\n\n# Create the data -----------------------------------------------------"
},
{
"path": "Percentiles in R/README.md",
"chars": 294,
"preview": "# Percentiles and quantiles in R\n[<img src=\"percentiles thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/t5ik"
},
{
"path": "Percentiles in R/script - percentiles.R",
"chars": 254,
"preview": "library(tidyverse)\n\nggplot(faithful, aes(x = waiting)) + \n geom_histogram(color = \"black\") +\n labs(x = \"Waiting time\")"
},
{
"path": "Percentiles of continuous distributions/README.md",
"chars": 312,
"preview": "# Percentiles of continuous distributions\n[<img src=\"percentiles thumb.png\" align=\"right\" height=\"100\" />](<https://yout"
},
{
"path": "Pie charts with R/README.md",
"chars": 260,
"preview": "# Pie charts with R\n[<img src=\"pie thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/ueLozxgEnDc>)\n\nHi everybo"
},
{
"path": "Pie charts with R/pie charts.R",
"chars": 1673,
"preview": "# Pie charts in R\n\nlibrary(tidyverse)\nlibrary(modeldata)\nView(penguins)\n\n# Bar chart for comparison\n\nggplot(penguins, ae"
},
{
"path": "Poisson regression/README.md",
"chars": 266,
"preview": "# Poisson regression\n[<img src=\"poisson thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/fClxnUwUFJE>)\n\nHi ev"
},
{
"path": "Poisson regression in R/README.md",
"chars": 280,
"preview": "# Poisson regression in R\n[<img src=\"poisson reg thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/FfBnX5dfxXw"
},
{
"path": "Poisson regression in R/script - poisson in R.R",
"chars": 832,
"preview": "library(tidyverse)\nlibrary(ISLR2)\ntheme_set(theme_minimal())\n\n?Bikeshare\nglimpse(Bikeshare)\n\nggplot(Bikeshare, aes(y = b"
},
{
"path": "Prediction intervals for linear models/README.md",
"chars": 321,
"preview": "# Prediction intervals for linear models in R\n[<img src=\"prediction new thumb.png\" align=\"right\" height=\"100\" />](<https"
},
{
"path": "Prediction intervals for linear models/Script - prediction intervals.R",
"chars": 1212,
"preview": "# Prediction intervals for linear models\nlibrary(tidyverse)\nlibrary(modeldata)\n?predict \ndata(penguins)\n\nadelie <- pengu"
},
{
"path": "R Markdown/R Markdown practice.Rmd",
"chars": 1055,
"preview": "---\ntitle: \"RMarkdown practice\"\nauthor: \"Andrew Gard\"\ndate: \"`r Sys.Date()`\"\noutput: html_document\n---\n\n```{r setup, inc"
},
{
"path": "R Markdown/R-Markdown-practice.html",
"chars": 672598,
"preview": "<!DOCTYPE html>\n\n<html>\n\n<head>\n\n<meta charset=\"utf-8\" />\n<meta name=\"generator\" content=\"pandoc\" />\n<meta http-equiv=\"X"
},
{
"path": "R Markdown/README.md",
"chars": 270,
"preview": "# What is R Markdown?\n[<img src=\"rmarkdown thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/asHhuHRxhvo>)\n\nHi"
},
{
"path": "README.md",
"chars": 421,
"preview": "# Equitable equations on YouTube\n[<img src=\"logo_transparent.png\" align=\"right\" height=\"125\" />](<https://www.youtube.co"
},
{
"path": "Regression analysis - backward selection/README.md",
"chars": 323,
"preview": "# Regression analysis in R: backward selection\n[<img src=\"backward thumb new.png\" align=\"right\" height=\"100\" />](<https:"
},
{
"path": "Regression analysis - backward selection/Slides - bss.R",
"chars": 1110,
"preview": "library(tidyverse)\nlibrary(broom)\nlibrary(GGally)\n\n# Data from Regression Analysis by Example\n# by Chatterjee and Hadi ("
},
{
"path": "Regression analysis - backward selection/performance.csv",
"chars": 777,
"preview": "overall_rating,handles_employee_complaints,no_special_privileges,space_for_learning,raises_for_performance,not_overly_cr"
},
{
"path": "Repositioning ggplot legends/README.md",
"chars": 299,
"preview": "# Repositioning ggplot legends in R\n[<img src=\"legend thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/KT"
},
{
"path": "Repositioning ggplot legends/Script - repositioning ggplot legends.R",
"chars": 371,
"preview": "library(tidyverse)\ntheme_set(theme_minimal())\n\nggplot(diamonds, aes(x = cut, fill = cut)) +\n geom_bar() +\n theme(legen"
},
{
"path": "Return of the starwars data set/README.md",
"chars": 291,
"preview": "# Return of the starwars data set\n[<img src=\"starwars new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/RFwhxg62"
},
{
"path": "Return of the starwars data set/script - starwars.R",
"chars": 749,
"preview": "# Unnesting Starwars\nlibrary(tidyverse)\ntheme_set(theme_minimal())\nView(starwars)\nglimpse(starwars)\n\nstarwars_sm <- star"
},
{
"path": "Scatterplots and regression lines in R/README.md",
"chars": 310,
"preview": "# Scatterplots and regression lines in R\n[<img src=\"scatter thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu"
},
{
"path": "Scatterplots and regression lines in R/Script - scatterplots and regression lines.R",
"chars": 1652,
"preview": "# scatterplots in R\n\nlibrary(tidyverse)\nlibrary(modeldata)\n\nView(penguins)\n\nggplot(penguins, aes(x = flipper_length_mm,\n"
},
{
"path": "Sensitivity, specificity, precision, recall/README.md",
"chars": 327,
"preview": "# Sensitivity, specificity, precision, recall\n[<img src=\"classification thumb new.png\" align=\"right\" height=\"100\" />](<h"
},
{
"path": "Simple linear regression with R (intro)/README.md",
"chars": 327,
"preview": "# Simple linear regression with R (introductory)\n[<img src=\"scatterplots thumb.png\" align=\"right\" height=\"100\" />](<http"
},
{
"path": "Simpson's paradox/README.md",
"chars": 262,
"preview": "# Simpson's paradox\n[<img src=\"simpson thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/ZvedHNGTNb0>)\n\nHi eve"
},
{
"path": "Simpson's paradox/batting.csv",
"chars": 1308,
"preview": "year,average,group\n1969,0.292,A\n1965,0.28,A\n1970,0.284,A\n1969,0.288,A\n1967,0.279,A\n1961,0.286,A\n1963,0.276,A\n1965,0.295,"
},
{
"path": "Simpson's paradox/script - simpsons paradox.R",
"chars": 1649,
"preview": "# Simulate the data -------------------------------------------------------\n# (or download from GitHub and load directly"
},
{
"path": "Splitting columns in R with separate()/README.md",
"chars": 310,
"preview": "# Splitting columns in R with separate()\n[<img src=\"separate thumb new.png\" align=\"right\" height=\"100\" />](<https://yout"
},
{
"path": "Splitting columns in R with separate()/script - splitting columns with separate.R",
"chars": 520,
"preview": "# Notes for separate script\nlibrary(tidyverse)\n?separate\n\nView(smiths)\n\nseparate(smiths,\n col = subject,\n "
},
{
"path": "Splitting data frames with slice()/README.md",
"chars": 278,
"preview": "# Splitting data frames in R\n[<img src=\"splitting_new\" align=\"right\" height=\"100\" />](<https://youtu.be/7bqtmMfDg-4>)\n\nH"
},
{
"path": "Splitting data frames with slice()/Script - splitting data sets.R",
"chars": 650,
"preview": "# Slicing a data set\n\nlibrary(tidyverse)\n?slice\nstarwars\n\nslice(starwars, 4:8) # only keep rows 4-8\nslice(starwars, c(-4"
},
{
"path": "Statistical power and sample size/README.md",
"chars": 294,
"preview": "# Statistical power and sample size\n[<img src=\"power thumb.jpg\" align=\"right\" height=\"100\" />](<https://youtu.be/8HvSdRi"
},
{
"path": "Teaching an AI to webscrape/README.md",
"chars": 339,
"preview": "# Teaching an AI to webscrape using the ellmer package\n[<img src=\"ellmer tools thumb.png\" align=\"right\" height=\"100\" />]"
},
{
"path": "Teaching an AI to webscrape/ellmer tools.R",
"chars": 1624,
"preview": "# tool calling with Claude\n\nlibrary(tidyverse)\nlibrary(ellmer)\nlibrary(rvest)\n\ntop_movie <- function(){\n url <- \"https:"
},
{
"path": "The poisson distribution/README.md",
"chars": 276,
"preview": "# The poisson distribution\n[<img src=\"poisson thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/67PgnWrOxss>)\n"
},
{
"path": "Tidy data/README.md",
"chars": 268,
"preview": "# What is tidy data?\n[<img src=\"tidy data thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/8WZXn7e20YA>)\n\nHi "
},
{
"path": "Tidy tuesday analysis - Ravelry yarn/README.md",
"chars": 301,
"preview": "# Tidy Tuesday analysis: Ravelry yarn\n[<img src=\"yarn thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/6V"
},
{
"path": "Tidy tuesday analysis - Ravelry yarn/yarn script.R",
"chars": 1808,
"preview": "library(tidyverse)\nlibrary(tidytuesdayR)\ntheme_set(theme_minimal())\n\ntuesdata <- tidytuesdayR::tt_load(2022, week = 41)\n"
},
{
"path": "Tidying data with pivot_longer/README.md",
"chars": 295,
"preview": "# Tidying data with pivot_longer\n[<img src=\"pivot_longer thumb.jpg\" align=\"right\" height=\"100\" />](<https://youtu.be/UR-"
},
{
"path": "Tidying data with pivot_longer/Script - pivot_longer.R",
"chars": 1384,
"preview": "# pivot_longer\nlibrary(tidyverse)\n\nBody_temps <- read_excel(\"03 - Body Temperatures.xlsx\") # read in data\n\n?pivot_longer"
},
{
"path": "Tidying data with pivot_wider/FQA.csv",
"chars": 675,
"preview": "variable,value\nAssessment,Coyne Plot 4\nDate,1/1/12\nSite,Coyne Prairie\nFQA DB Region:,Missouri\nFQA DB Publication Year:,2"
},
{
"path": "Tidying data with pivot_wider/README.md",
"chars": 300,
"preview": "# Tidying data in R with pivot_wider\n[<img src=\"wider thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/Yp"
},
{
"path": "Tidying data with pivot_wider/Script - pivot_wider.R",
"chars": 903,
"preview": "# tidying data with pivot_wider\nlibrary(tidyverse)\n?pivot_wider\n\nFQA <- read_csv(\"FQA.csv\")\nView(FQA)\n\nFQA_wide <- pivot"
},
{
"path": "Type I and type II errors/README.md",
"chars": 323,
"preview": "# Type I and type II errors in significance tests\n[<img src=\"errors thumb.png\" align=\"right\" height=\"100\" />](<https://y"
},
{
"path": "Understand ANOVA in 8 minutes/README.md",
"chars": 286,
"preview": "# Understand ANOVA in 8 minutes\n[<img src=\"anova thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/2l-ZnfTbKhg"
},
{
"path": "Understanding R functions/README.md",
"chars": 320,
"preview": "# Understanding the structure of R functions\n[<img src=\"functions thumb new.png\" align=\"right\" height=\"100\" />](<https:/"
},
{
"path": "Understanding R functions/script - undedrstanding R functions.R",
"chars": 579,
"preview": "# understanding R functions\n\n# from last vid:\n\nkeep_top_spec <- function(vals, cutoff = mean(vals)) {\n # returns only e"
},
{
"path": "Understanding geom_smooth/README.md",
"chars": 324,
"preview": "# Understanding geom_smooth's default loess method\n[<img src=\"loess thumb.png\" align=\"right\" height=\"100\" />](<https://y"
},
{
"path": "Understanding geom_smooth/script - geom_smooth.R",
"chars": 803,
"preview": "# Understanding geom_smooth\n\nlibrary(tidyverse)\nlibrary(broom)\ntheme_set(theme_minimal())\n\nggplot(mtcars, aes(x = wt, \n "
},
{
"path": "Understanding the chi-squared distribution/README.md",
"chars": 318,
"preview": "# Understanding the chi-squared distribution\n[<img src=\"chi squared thumb.png\" align=\"right\" height=\"100\" />](<https://y"
},
{
"path": "Uniform distribution/README.md",
"chars": 279,
"preview": "# The uniform distribution\n[<img src=\"uniform thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/lclo0W1kQP8>)\n"
},
{
"path": "Using Quarto with R and Python/Quarto demo.qmd",
"chars": 1445,
"preview": "---\ntitle: \"Quarto demo\"\nauthor: \"Andrew Gard\"\ndate: \"25 Jan 2024\"\nformat: \n html:\n theme: lux\n toc: true\n toc"
},
{
"path": "Using Quarto with R and Python/README.md",
"chars": 291,
"preview": "# Using Quarto with R and Python\n[<img src=\"quarto new thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/16V-i"
},
{
"path": "What are order statistics?/README.md",
"chars": 291,
"preview": "# What are order statistics?\n[<img src=\"order statistics thumb.jpg\" align=\"right\" height=\"100\" />](<https://youtu.be/gDt"
},
{
"path": "What is Anscombe's quartet?/README.md",
"chars": 287,
"preview": "# What is Anscombe's quartet?\n[<img src=\"quartet thumb new.png\" align=\"right\" height=\"100\" />](<https://youtu.be/Wf21BVJ"
},
{
"path": "What is Anscombe's quartet?/Script - Anscombe.R",
"chars": 1040,
"preview": "# The Anscombe quartet\n\nlibrary(tidyverse)\ntheme_set(theme_minimal())\n\nView(anscombe)\n\n# working column-wise:\n\nsapply(an"
},
{
"path": "What is quarto?/README.md",
"chars": 259,
"preview": "# What is Quarto?\n[<img src=\"quarto thumb.png\" align=\"right\" height=\"100\" />](<https://youtu.be/w5vBoaN6t-M>)\n\nHi everyb"
},
{
"path": "What is quarto?/what is quarto.qmd",
"chars": 927,
"preview": "---\ntitle: \"Getting started with Quarto\"\nformat: html\neditor: visual\n---\n\n## Quarto\n\nQuarto enables you to weave togethe"
}
]
// ... and 21 more files (download for full content)
About this extraction
This page contains the full source code of the equitable-equations/youtube GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 221 files (925.6 KB), approximately 452.4k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.