library(dplyr) library(tidyr) library(ggplot2) library(purrr) library(gapminder) library(skimr) library(DT) library(gghighlight) library(plotly) library(ggthemes) data(gapminder) if (params$max_year < params$min_year) stop("Bitte eine positive Zeitspanne angeben!") if(params$continent != "all") { gapminder <- gapminder %>% filter(continent == params$continent) } gapminder <- gapminder %>% filter(year >= params$min_year & year <= params$max_year)
Hier werden die Daten aus dem Gapminder-Projekt erforscht. Sie enthalten r nrow(gapminder)
Zeilen (= Länderdaten aus verschiedenen Jahren) und r ncol(gapminder)
Variablen (Spalten).
Hier eine erste Übersicht über den Datensatz:
skim(gapminder)
Hier die Originaldaten zum Stöbern:
datatable(gapminder)
Vergleich zweier ausgewählter Länder:
gapminder %>% ggplot(aes(x = year, y = lifeExp, color = country)) + geom_line(size = 1.5) + gghighlight(country %in% c(params$Land1, params$Land2), unhighlighted_params = list(size = .75), use_group_by = FALSE) + labs(title = "Lebenserwartung im Zeitverlauf", subtitle = paste(params$Land1, "im Vergleich mit", params$Land2), caption = "Source: Gapminder project / gapminder R package by Jenny Bryan") + scale_color_discrete(name = "")
p <- gapminder %>% ggplot(aes(x = year, y = lifeExp, color = country)) + geom_line(size = 0.4) + labs(title = "Lebenserwartung im Zeitverlauf") + theme_bw() + theme(legend.position = "none") ggplotly(p, tooltip = c("x", "y", "colour")) p <- gapminder %>% ggplot(aes(x = year, y = lifeExp, color = country)) + geom_line(size = 0.4) + labs(title = "Lebenserwartung im Zeitverlauf") + theme_economist() + theme(legend.position = "none") ggplotly(p, tooltip = c("x", "y", "colour"))
Tabellarisch, zum Sortieren: Zwei neue Variablen.
Wenige Codezeilen genügen, um für beliebig viele Länder separate Regressionsmodelle zu erstellen.
gapminder2 <- gapminder %>% group_by(country) %>% mutate(delta_lifeExp = round(max(lifeExp) - min(lifeExp), 2)) %>% ungroup() # R² getrsq <- function(data) { model <- lm(lifeExp ~ year, data = data) summary(model)$r.squared } gapminder2 <- gapminder2 %>% group_by(country) %>% nest() %>% mutate(rsq = round(map_dbl(data, getrsq), 3)) %>% unnest(cols = data) %>% ungroup() datatable(gapminder2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.