+ - 0:00:00
Notes for current slide
Notes for next slide

Nächste Schritte

Einführung in die moderne Datenanalyse mit R
The R Bootcamp

Februar 2022

1 / 25






Hallo Base R Experten

Nach einem Nachmittag kennt Ihr die Grundlagen von R!

2 / 25

R kann viel mehr

1. tverse Kern
2. tverse erweitert
3. Statistik
4. Maschinelles Lernen
5. Reporting

W3Schools

3 / 25

tidyverse Kern

Das tidyverse ist im Kern eine Sammlung hoch-performanter, nutzerfreundlicher Pakete, die speziell für eine effizientere Datenanalyse entwickelt wurden.

  1. ggplot2 für Grafiken.
  2. dplyr für Datenverarbeitung.
  3. tidyr für Datenverarbeitung.
  4. readr für Daten I/O.
  5. purrr für funktionales Programmieren.
  6. tibble für moderne data.frames.

4 / 25

ggplot2

library(tidyverse) ; library(ggrepel)
# Lade Tourismus Daten
tour <- read_csv('1_Data/Tourismus.csv')
# Erstelle Plot mit ggplot2
ggplot(data = tour,
mapping = aes(x = Besucher,
y = Dauer,
label = Land)) +
scale_x_continuous(trans = 'log2') +
geom_point(size=2)

5 / 25

ggplot2

library(tidyverse) ; library(ggrepel)
# Lade Tourismus Daten
tour <- read_csv('1_Data/Tourismus_18.csv')
# Plotte Dauer gegen Besucher
ggplot(data = tour,
mapping = aes(x = Besucher,
y = Dauer,
label = Land)) +
scale_x_continuous(trans = 'log2') +
geom_point(size=2) +
geom_label_repel(size = 2,
label.padding = 0.1) +
theme_bw()

6 / 25

ggplot2

library(tidyverse) ; library(ggrepel)
# Lade Tourismus Daten
tour <- read_csv('1_Data/Tourismus.csv')
# Plotte Dauer gegen Besucher
ggplot(data = tour,
mapping = aes(x = Besucher,
y = Dauer,
label = Land)) +
scale_x_continuous(trans = 'log2') +
geom_point(size=2) +
geom_label_repel(size = 2,
label.padding = 0.1) +
theme_bw() +
facet_grid(Region ~ .)

7 / 25

dplyr

library(tidyverse)
# Lade Tourismus Daten
tour <- read_csv('1_Data/Tourismus.csv')
# Zeige Top 10 Länder
tour %>%
mutate(Nächte = Besucher * Dauer) %>%
arrange(desc(Nächte)) %>%
select(Land, Nächte) %>%
top_n(10)
## # A tibble: 10 × 2
## Land Nächte
## <chr> <dbl>
## 1 Deutschland 18059
## 2 Vereinigte Staaten 15353
## 3 Vereinigtes Königreich 7981
## 4 Frankreich 5288
## 5 Italien 3224
## 6 Spanien 2294
## 7 Niederlande 2069
## 8 Kanada 2006
## 9 Österreich 1683
## 10 Indien 1622
8 / 25

dplyr

library(tidyverse)
# Lade Tourismus Daten
tour <- read_csv('1_Data/Tourismus.csv')
# Berechne Nächte per Region
tour %>%
mutate(Nächte = Besucher * Dauer) %>%
group_by(Region) %>%
summarize(
Nächte_mittel = mean(Nächte),
Nächte_summe = sum(Nächte),
)
## # A tibble: 5 × 3
## Region Nächte_mittel Nächte_summe
## <chr> <dbl> <dbl>
## 1 Afrika 259 1036
## 2 Amerika 2435. 19479
## 3 Asien 464. 9278
## 4 Australien 580 1160
## 5 Europa 1415. 52353
9 / 25

dplyr

library(tidyverse) ; library(ggrepel)
# Lade Tourismus Daten
tour <- read_csv('1_Data/Tourismus.csv')
europa <- read_csv('1_Data/Europa.csv')
# Verbinde Nächte mit Äquivalenzeinkommen
tour %>%
mutate(Nächte = Besucher * Dauer) %>%
left_join(europa) %>%
ggplot(aes(x = Äquivalenzeinkommen,
y = Nächte,
label = Land)) +
scale_y_continuous(trans = 'log2') +
geom_point() +
geom_label_repel(size = 2) +
theme_bw()

10 / 25

tidyverse erweitert

Das Umfeld des tidyverse beinhaltet eine Sammlung weiterer hoch-performanter, nutzerfreundlicher Pakete, die den tidyverse Kern ergänzen.

  1. xlm2 für die Verarbeitung von XML und HTML Dateien.
  2. rvest für Web Scraping.
  3. haven für SPSS, SAS, und Stata Dateien.
  4. readxl für Excel Dateien.
  5. lubridate für Zeitvariablen.
  6. tidytext für Textverarbeitung.

11 / 25

Web Scraping

# Tabelle laden von Wikipedia (Pakete nicht vergessen)
read_html("https://en.wikipedia.org/wiki/R_(programming_language)") %>%
html_node(xpath = '//*[@id="mw-content-text"]/div[1]/table[2]') %>%
html_table() %>% as_tibble()
## # A tibble: 22 × 3
## Release Date Description
## <chr> <chr> <chr>
## 1 0.16 "" "This is the last alpha version developed primarily by Ihaka and …
## 2 0.49 "1997-04-23" "This is the oldest source release which is currently available o…
## 3 0.60 "1997-12-05" "R becomes an official part of the GNU Project. The code is hoste…
## 4 0.65.1 "1999-10-07" "First versions of update.packages and install.packages functions…
## 5 1.0 "2000-02-29" "Considered by its developers stable enough for production use.[5…
## 6 1.4 "2001-12-19" "S4 methods are introduced and the first version for Mac OS X is …
## 7 1.8 "2003-10-08" "Introduced a flexible condition handling mechanism for signallin…
## 8 2.0 "2004-10-04" "Introduced lazy loading, which enables fast loading of data with…
## 9 2.1 "2005-04-18" "Support for UTF-8 encoding, and the beginnings of internationali…
## 10 2.6.2 "2008-02-08" "Last version to support Windows 95, 98, Me and NT 4.0[60]"
## # … with 12 more rows
12 / 25

Textanalyse

library(tidytext) ; library(wordcloud)
library(dplyr) ; library(stringr)
# Wörter zählen
counts <-
read_html(".../R_(programming_language)") %>%
html_text() %>%
tibble() %>%
unnest_tokens(w, ".") %>%
filter(!str_detect(w, '[:digit:]')) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
top_n(100)
# Wordwolke
wordcloud(counts$word,
counts$n)

13 / 25

Statistik

library(tidyverse)
# Lade Tourismus Daten
tour <- read_csv('1_Data/Tourismus.csv')
länd <- read_csv('1_Data/Länder.csv')
# verbinde Daten
data <- tour %>%
inner_join(länd) %>%
mutate(Nächte = Besucher * Dauer)
# Regressionsanalyse
model = lm(Nächte ~ Bevölkerung +
Dichte + BIP,
data = data)
# Bestimmtheitsmass
summary(model)$r.squared
## [1] 0.05719
# Koeffizienten
summary(model)$coef[,-2]
## Estimate t value Pr(>|t|)
## (Intercept) 1.213e+01 0.01294 0.9897
## Bevölkerung 2.379e-06 1.36594 0.1775
## Dichte -3.381e-01 -0.82598 0.4124
## BIP 2.988e+01 1.50779 0.1373
14 / 25

Maschinelles Lernen

library(tidyverse) ; library(rpart)
# Lade Tourismus Daten
tour <- read_csv('1_Data/Tourismus.csv')
länd <- read_csv('1_Data/Länder.csv')
# verbinde Daten
data <- tour %>%
inner_join(länd) %>%
mutate(Nächte = Besucher * Dauer)
# Regressionsanalyse
rpart(
formula = Besucher ~ Bevölkerung +
Dichte + BIP,
data = data)



15 / 25

Reporting Werkzeuge

R und RStudio bieten auch exzellente Werkzeuge zum erstellen von Berichten, Slides, und sogar Webseiten.

  1. rmarkdown für dynamische PDF Dokumente.
  2. xaringan für Slides.
  3. shiny für Webseiten und Cockpits.



16 / 25

Nächste Schritte

  1. Anwenden
  2. Bücher
  3. Webseiten
  4. Hilfe & Consulting
  5. Weiterführende Kurse


W3Schools

19 / 25

Bücher

Hier ist eine unvollständige Liste guter Bücher über R lose geordnet nach vorausgesetzter Erfahrung.

W3Schools W3Schools W3Schools W3Schools W3Schools W3Schools
W3Schools W3Schools W3Schools W3Schools W3Schools W3Schools

20 / 25

Webseiten

Das Netz ist vll. der beste Ort für Informationen über R.

Beginnt eure Suche mit:

Google. Stellt sicher, dass ihr R oder Rproject mit in eurer Suche habt.


Meistens werdet ihr dann weitergeleitet zu:

R-bloggers informiert euch über die neusten R Entwicklungen. Meldet euch für den Newsletter an.

Stackoverflow ist eine Seite für R Probleme und Lösungen. Versucht selbst mal ein Problem zu posten. Oft bekommt ihr erstaunlich schnell Antwort.










W3Schools

W3Schools
W3Schools

21 / 25






Hallo Base R Experten

Nach einem Nachmittag kennt Ihr die Grundlagen von R!

2 / 25
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow