-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path046_Fallstudie_movies.Rmd
107 lines (66 loc) · 3.83 KB
/
046_Fallstudie_movies.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Fallstudie 'movies' {#case-movies}
```{r echo = FALSE, out.width = "30%", fig.align = "center"}
knitr::include_graphics("images/FOM.jpg")
```
```{r echo = FALSE, out.width = "10%", fig.align = "center"}
knitr::include_graphics("images/licence.png")
```
```{block2, ziele-nycflights13, type='rmdcaution', echo = TRUE}
Lernziele:
- Grundlegende Funktionen von `dplyr` andwenden können.
- Das Konzept der Pfeife in einem echten Datensatz anwenden können.
- Auch mit relativ großen Daten sicher hantieren können.
```
Der Datensatz `movies` enthält Bewertungen von Filmen, zusammen mit einigen zusätzlichen Informationen wie Genre, Erscheinungsjahr und Budgethöhe. Wir nutzen diesen Datensatz um uns einige Übung mit Aufbereiten und Zusammenfassen von Daten zu verschaffen.
Für dieses Kapitel werden folgende Pakete benötigt:
```{r}
library(tidyverse) # Datenjudo und Visualisierung
library(corrr) # Korrelation
library(ggplot2movies) # Daten
```
Zunächst laden wir die Daten und werfen einen Blick in den Datensatz:
```{r results = "hide"}
data(movies, package = "ggplot2movies")
glimpse(movies)
```
Hier findet man einige Erklärungen zu diesem Datensatz: <http://had.co.nz/data/movies/>.
## Wie viele Filme gibt es pro Genre?
Normalerweise würde man für diese Frage eine Spalte wie "Genre" nehmen und die verschiedenen Werte dieser Spalte auszählen. Das geht sehr bequem mit `dplyr::count`. Hier gibt es allerdings so eine Spalte nicht. Wir müssen uns anders behelfen.
```{r}
movies %>%
select(Action:Short) %>%
summarise_all(funs(sum))
```
Auf Deutsch heißt diese Syntax
```{block2, movies-syntax, type='rmdpseudocode', echo = TRUE}
Nimm die Tabelle "movies" UND DANN
nimm alle Spalten von "Action" bis "Short" UND DANN
fasse alle Spalten (die wir genommen haben) zusammen und zwar...
mit der oder den Funktionen "Summe" (sum).
```
Genau wie der Befehl `summarise` fasst auch `summarise_all` Spalten zu einer Zahl zusammen - nur eben nicht *eine*, sondern *alle* Spalten eines Dataframe. Die Funktion(en), die beim Zusammenfassen verwendet werden sollen, werden mit `funs()` definiert.
## Welches Genre ist am häufigsten?
Bzw. in welchem Genre wurden am meisten Filme gedreht (in unserem Datensatz)?
```{r}
movies %>%
select(Action:Short) %>%
summarise_all(funs(sum)) %>%
gather() %>%
arrange(-value)
```
Der Befehl `gather` baut einen Dataframe von "breit" nach "lang" um (vgl. Kapitel \@ref(normalform)). Ah, ~~Schmunzetten~~ Dramen sind also am häufigsten (wie der Befehl `arrange` dann zeigt). Welcome to Hollywood. :tada:
## Zusammenhang zwischen Budget und Beurteilung
Werden teurere Filme (also Filme mit mehr Budget) besser beurteilt im Schnitt? Das würde man erwarten, denn zum Spaß werden die Investoren wohl nicht ihr Geld raus. Schauen wir es uns an.
```{r}
movies %>%
select(budget, rating, votes) %>%
correlate
```
Wir haben gerade die drei Spalten `budget`, `rating` und `votes` ausgewählt, dann in der nächsten Zeile die fehlenden Werte eliminiert und schließlich die Korrelation zwischen allen Paaren gebildet. Interessanterweise gibt es keine Korrelation zwischen dem Budget und dem Rating! Teuere Filme sind also mitnichten besser bewertet. Allerdings haben Filme mit mehr Budget eine größere Anzahl an Bewertungen, sind also offenbar bekannter. Vielleicht gehen dann auch entsprechend mehr Leute im Kino - auch wenn diese Filme nicht besser sind. Teurere Filme sind also bekannter, wenn auch nicht besser (beurteilt); so könnte man die Daten lesen.
## Wurden die Filme im Lauf der Jahre teurer und/oder "besser"?
```{r}
movies %>%
select(year, rating, budget) %>%
correlate
```
Offenbar wurden die Filme im Lauf der Zeit nicht besser beurteilt: Die Korrelation von `year` und `rating` ist praktisch Null. Wohl wurden sie aber teurer: Die Korrelation von `year` und `budget` ist substanziell.