Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----message = FALSE----------------------------------------------------------
library(dplyr)
library(ggplot2)
library(forcats)
## ----initial-plot-------------------------------------------------------------
ggplot(starwars, aes(y = hair_color)) +
geom_bar()
## ----fct-infreq-hair----------------------------------------------------------
ggplot(starwars, aes(y = fct_infreq(hair_color))) +
geom_bar()
## -----------------------------------------------------------------------------
f <- factor(c("x", "y", NA))
levels(f)
is.na(f)
## -----------------------------------------------------------------------------
f <- factor(c("x", "y", NA), exclude = NULL)
levels(f)
is.na(f)
## -----------------------------------------------------------------------------
ggplot(starwars, aes(y = fct_infreq(fct_na_value_to_level(hair_color)))) +
geom_bar() +
labs(y = "Hair color")
## -----------------------------------------------------------------------------
starwars %>%
count(skin_color, sort = TRUE)
## -----------------------------------------------------------------------------
starwars %>%
mutate(skin_color = fct_lump(skin_color, n = 5)) %>%
count(skin_color, sort = TRUE)
## -----------------------------------------------------------------------------
starwars %>%
mutate(skin_color = fct_lump(skin_color, prop = .1)) %>%
count(skin_color, sort = TRUE)
## -----------------------------------------------------------------------------
starwars %>%
mutate(skin_color = fct_lump(skin_color, prop = .1, other_level = "extra")) %>%
count(skin_color, sort = TRUE)
## ----fct-lump-mean------------------------------------------------------------
avg_mass_eye_color <- starwars %>%
mutate(eye_color = fct_lump(eye_color, n = 6)) %>%
group_by(eye_color) %>%
summarise(mean_mass = mean(mass, na.rm = TRUE))
avg_mass_eye_color
## ----fct-reorder--------------------------------------------------------------
avg_mass_eye_color %>%
mutate(eye_color = fct_reorder(eye_color, mean_mass)) %>%
ggplot(aes(x = eye_color, y = mean_mass)) +
geom_col()
## -----------------------------------------------------------------------------
gss_cat %>%
count(rincome)
## -----------------------------------------------------------------------------
levels(gss_cat$rincome)
## -----------------------------------------------------------------------------
reshuffled_income <- gss_cat$rincome %>%
fct_shuffle()
levels(reshuffled_income)
## -----------------------------------------------------------------------------
fct_relevel(reshuffled_income, c("Lt $1000", "$1000 to 2999")) %>%
levels()
## -----------------------------------------------------------------------------
fct_relevel(reshuffled_income, c("Lt $1000", "$1000 to 2999"), after = 1) %>%
levels()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.