Created
August 22, 2018 19:35
Min første r-graf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Sørge for at programpakkene jeg skal bruke er aktivert. | |
library(tidyverse) | |
# Importere statiskken, fillokaliseringen er kortet ned i denne demoen, men må skrives fullt ut. | |
data <- read.csv2("C:\\...\\oslo_idrett_klasse.csv") | |
# Disse tidyverse-folka er veldig glad i tibbles, så jeg gjør om dataframen til en tibble. | |
data2 <- as_tibble(data) | |
# Gir variablene litt greiere navn. | |
data3 <- transmute(data2, | |
Bydel = Bydel, | |
høy = Høy.sosial.bakgrunn, | |
middels = Middels.sosial.bakgrunn, | |
lav = Lav.sosial.bakgrunn) | |
# Tidyverse og ggplot2 er veldig glade i smale datasett og ikke vide. | |
data4 <- | |
gather(data3, "lav", "middels","høy", key = "Bakgrunn", value = "Andel") | |
# Akkurat dette gjør jeg som en forberedelse for at bakgrunnsklassene skal vises i en logisk rekkefølge. | |
data4 <- | |
mutate(data4, | |
order = case_when(Bakgrunn == "lav" ~ 1, | |
Bakgrunn == "middels" ~ 2, | |
Bakgrunn == "høy" ~ 3)) | |
# Jeg kommer til å ha tallene for hver bydel i separate vinduer (facets), så dette gjør jeg for fikse rekkefølgen der. | |
data4 <- | |
mutate(data4, | |
Bakgrunn = reorder(Bakgrunn, order), | |
Bydel = reorder(Bydel, Andel, min)) | |
#For å lage forkortelser i grafen | |
bydel_names <- c( | |
"Stovner" = "Stovn.", | |
"Gamle Oslo" = "Gaml.", | |
"Alna" = "Alna", | |
"Grunerløkka" = "Grüne.", | |
"Søndre Nordstrand" = "S.Nor.", | |
"Grorud" = "Groru.", | |
"Oslo" = "Oslo", | |
"Frogner" = "Frogn.", | |
"Østensjø" = "Østen.", | |
"Sagene" = "Sagen.", | |
"Bjerke" = "Bjerke", | |
"St. Hanshaugen" = "St.Ha.", | |
"Ullern" = "Ullern", | |
"Nordstrand" = "Nords.", | |
"Vestre Aker" = "V.Aker", | |
"Nordre Aker" = "N.Aker" | |
) | |
# Endelig lager jeg selve grafen. | |
graf <- ggplot(data4, mapping = aes()) + | |
geom_col(mapping = aes(x = Bakgrunn, y = Andel), width = .05, colour = "grey") + | |
geom_hline(yintercept = 36.9, linetype = "dashed",colour = "red") + | |
geom_hline(yintercept = 54.5, linetype = "dashed", colour = "green4") + | |
geom_hline(yintercept = 68.3, linetype = "dashed", colour = "blue") + | |
geom_point(mapping = aes(x = Bakgrunn, y = Andel, colour = Bakgrunn)) + | |
geom_text( | |
mapping = aes(x = Bakgrunn, y = Andel, label = Andel), nudge_y = 3, size = 2.5) + | |
facet_wrap(~Bydel, nrow = 1, labeller = as_labeller(bydel_names)) + | |
labs( | |
y = "% ungdom som deltar i organisert idrett", | |
x = "Sosial bakgrunn", | |
title = "Ungdomsidrett og sosial bakgrunn", | |
caption = "Data fra rapporten 'Ung i Oslo 2015'" | |
) + | |
theme(axis.text.x = element_blank(), | |
axis.ticks.x = element_blank(), | |
legend.position = "bottom", | |
legend.title = element_blank(), | |
legend.key = element_rect(colour = "white")) | |
# Og nå vises grafen | |
graf |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment