Mit einer Korrelation können wir statistische Zusammenhänge zwischen Variablen aufdecken und angeben, wie sehr diese “zusammenhängen”. Wichtig dabei ist, so viel schon einmal vorab, nicht den Zusammenhang an sich (die Korrelation) mit einer Ursache-Wirkungs-Beziehung (Kausalität) gleichzusetzen – einer der häufigsten und auch von erfahrenen Forschern immer noch begangener Fehler.
Alle Berechnungen und Abbildungen können wir mit unseren Standardpaketen durchführen. Wir benötigen das tidyverse
zum Data Wrangling und zur Visualisierung der Daten. haven
benötigen wir für den Import von SPSS-Dateien und rstatix
für statistische Analysen. Wenn man sich den Import und das Bereinigen der Daten sparen möchte (Schritte, die man dennoch üben sollte), findet man die Daten auch im Paket costatcompanion
.
Wir sind mitten im heißen Sommer, lange Tage, laue Nächte, nach dem Duschen hat man Schweiß auf der Stirn und das letzte Mal, dass Querlüften funktioniert hat, ist schon einige Wochen her. Was könnten wir nun machen, um uns abukühlen? Richtig, wir könnten ins Freibad gehen! Mit einem dahinschmelzenden Calippo in der Hand fragt sich aber der geübte Statistiker: Ist es eigentlich jeden Tag so voll? Oder hängt die Anzahl der Schwimmer in diesem Freibad mit irgendetwas zusammen? Sofort fragt er den Kassenwart nach Daten, Daten, Daten! Und siehe da, tatsächlich führt das Freibad eine Liste darüber, an welchem Tag, wie viele Besucher kamen, inklusive einiger anderer Faktoren, wie z.B. der Durchschnitts-Temperatur.
Den Datensatz water_park
finden wir im Paket costatcompanion
. In der ersten Spalte (day_id
) finden wir eine individuelle ID des beobachteten Tages (in zufälliger Reihenfolge). Nachfolgend finden wir vier Variablen, die an jedem Tag gemessen wurden. Dazu zählen die Durchschnitts-Temperatur (temperature
), die Anzahl der Schwimmer im Schwimmbecken (swimmers
), den Tages-Umsatz des Freibad-Kiosks in Euro (sales
) und die Anzahl der Schlägereien, wegen der die Polizei gerufen werden musste (beatings
).
## # A tibble: 100 x 5
## day_id temperature swimmers sales beatings
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 1 28.9 106 1554 7
## 2 2 34.4 142 2261 7
## 3 3 25.1 72 1232 4
## 4 4 21.8 50 823 5
## 5 5 39 167 2661 10
## 6 6 21.4 81 1025 4
## 7 7 26.7 111 1895 7
## 8 8 25 128 2153 8
## 9 9 12.7 37 534 1
## 10 10 16.3 56 829 1
## # ... with 90 more rows
Da wir uns im GLM bewegen, gelten die üblichen Voraussetzungen. Vor allem sollten die Daten jedoch auf Linearität und potenzielle Ausreißer geprüft werden!
Zunächst wollen wir untersuchen, ob die Durchschnitts-Temperatur eines beobachteten Tages mit der Anzahl der Schwimmer im Schwimmbecken zusammenhängt. Wir könnten spontan vermuten, dass es mehr Schwimmer bei höheren Temperaturen gibt.
Eine gute Idee ist, sich deskriptive Statistiken zu seinen untersuchten Variablen auszugeben und sich deren Verteilungen anzuschauen.
## # A tibble: 2 x 13
## variable n min max median q1 q3 iqr mad mean sd se
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 swimmers 100 34 195 97 82 121 39 28.2 100. 30.0 3.00
## 2 tempera~ 100 11.9 45.6 25.1 21.0 28.9 7.98 6.00 25.0 6.00 0.6
## # ... with 1 more variable: ci <dbl>
Eine weitere gute Idee wäre, sich einen vermuteten Zusammenhang graphisch als Streudiagramm darstellen zu lassen. Hier finden wir einen guten linearen Zusammenhang, der genau das nahelegt: Je höher die Temperatur (je weiter man auf der \(x\)-Achse nach rechts geht), desto mehr Schwimmer wurden beobachtet (desto höher liegen die Punkte).
Die eigentliche Berechnung einer Korrelation ist einfach und auch der Output hält sich in engen Grenzen:
## # A tibble: 1 x 8
## var1 var2 cor statistic p conf.low conf.high method
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
## 1 temperature swimmers 0.86 16.7 2.25e-30 0.798 0.904 Pearson
Wir erhalten einen statistisch signifikanten Zusammenhang, \(r = .860 [.798, .904], p < .001\). Berechnet wird standardmäßig der Korrelationskoeffizient nach Pearson (\(r\)), auch Produkt-Moment-Korrelation bezeichnet.
We found a significant correlation between an observed day’s temperature and the amount of swimmers in the pool, \(r = .860 [.798, .904], p < .001\).
Natürlich hat Rand Wilcox (2017) auch für Korrelationen vorgesorgt und stellt uns im Paket WRS2
(Mair & Wilcox, 2020) robuste Methoden zur Berechnung von Korrelationen zur Verfügung. Einmal gibt es die percentage bend correlation (\(\rho_{pb}\), pbcor()
) und einmal die Korrelation auf Basis von winsorized Daten (\(\rho_w\), wincor()
)
## Call:
## pbcor(x = temperature, y = swimmers)
##
## Robust correlation coefficient: 0.8256
## Test statistic: 14.4861
## p-value: 0
## Call:
## wincor(x = temperature, y = swimmers)
##
## Robust correlation coefficient: 0.7894
## Test statistic: 12.7312
## p-value: 0
Die percentage bend correlation beträgt \(\rho_{pb} = .823, p < .001\) und die Korrelation basierend auf winsorized Daten \(\rho_w = .789, p < .001\).
Wer entgegen aller Empfehlungen trotzdem non-parametrisch rechnen möchte, der kann auf zwei bekannte Verfahren zurückgreifen. Zum einen den Korrelationskoeffizinten nach Spearman (\(r_s\)), gelegentlich auch Spearmans Rho (\(\rho\)) bezeichnet, und zum anderen Kendalls Tau (\(\tau\)). Nach Howell (1997) ist \(\tau\) zu bevorzugen. Berechnen tun wir beide non-parametrischen Varianten mit derselben Funktion wie Pearsons \(r\), geben jedoch unser gewünschtes Verfahren als Metode an.
## # A tibble: 1 x 6
## var1 var2 cor statistic p method
## <chr> <chr> <dbl> <dbl> <dbl> <chr>
## 1 temperature swimmers 0.82 29332. 6.43e-26 Spearman
## # A tibble: 1 x 6
## var1 var2 cor statistic p method
## <chr> <chr> <dbl> <dbl> <dbl> <chr>
## 1 temperature swimmers 0.65 9.56 1.14e-21 Kendall
Eine gute Möglichkeit, sich angesichts der doch unterschiedlichen Ergebnisse nicht zwischen beiden Verfahren im Nachhinein zu entscheiden (Stichwort \(p\)-Hacking!), ist das vorherige Festlegen des Verfahrens.
Den Korrelationskoeffizienten \(r\) kann man qudrieren und erhält \(R^2\), das Bestimmtheitsmaß oder Determinationskoeffizient gennant wird – je nachdem, wie sehr man gerade mit einem statistischen Wissen angeben will. \(R^2\) gibt an, wie viel Varianz zwei Variablen miteinander teilen. Ist der Korrelationskoeffizient zwischen zwei Variablen zum Beispiel \(r = 0.80\), dann teilen sich diese beiden Variablen aus der Gesamtvarianz der Daten einen Anteil von \(R^2 = .80^2 \Leftrightarrow R^2 = 0.64\), also 64%.
Sehr viele Leute, wenn nicht alle, verwechseln regelmäßig die Stärke eines Zusammenhangs mit der Größe eines Zusammenhangs. Man kann schnell für sich testen, ob man denselben Fehler machen würde. Betrachten wir die beiden folgenden Abbildungen: In welcher ist die Korrelation größer?
Wer sich für die linke Seite entschieden hat, ist nicht alleine und liegt gleichzeitig gnadenlos daneben. Die Korrelation ist rechts (\(r = .850\)) nämlich deutlich höher als links (\(r = .700\)). Trotzdem entscheiden sich viele für die Linke Abbildung. Wieso? Weil sie eben die Stärke der Korrelation, also die Stärke des Zusammenhangs mit der Größe des Zusammenhangs verwechseln.
Die Stärke eines Zusammenhangs gibt nicht an, wie “steil” die Punkt sind, sondern wie eng sie um eine Linie fallen. Je enger die Punkte um die eingezeichnete Linie fallen, desto größer ist die Korrelation. Wie “steil” die Gerade ist, wie groß also der Zusammenhang zwischen zwei Variablen ist, ist eine Frage, auf die die Regression Antworten hat.
Was folgt daraus? Die Stärke und die Größe eines Zusammenhangs sind voneinander unabhängig und müssen immer einzeln beurteilt werden. Es kann bspw. sein, dass es Zusammenhänge gibt, die total klein, aber extrem stark sind (wie in der folgenden Abbildung). Hier muss man sich dann die Frage stellen, ob dieser Zusammenhang irgendwelche klinischen/bedeutenden Implikationen mit sich bringt.
Nur weil zwei Variablen zusammenhängen, heißt das nicht, dass die eine Variable die andere kausal, also ursächlich, beeinflusst. In unserem Beispiel oben haben wir uns den Zusammenhang zwischen Tages-Temperatur und Anzahl von Schwimmern im Schwimmbecken angeschaut. Aber nur, weil wir eine signifikante Korrelation gefunden haben, heißt das nicht, dass heißere Tage die Ursache für mehr Schwimmer waren (siehe auch Beispiel 2 unten). Was nun ursächlich für eine Variable oder ein Merkmal ist, kann letzten Endes nicht durch statistische Verfahren beurteilt werden, sondern entspringt einer adäquaten Versuchsplanung und fällt in den Bereich der experimentellen Methoden (!) Hat man seine Untersuchung nicht darauf ausgelegt, kann man rechnen, was man will, aber man wird nie auf einen kausalen Zusammenhang schließen können.
Natürlich sind wir nicht darauf beschränkt, uns einzelne Variablen rauszupicken und so einzeln mal eine Korrelation zu berechnen. Wir können das auch über mehrere Variablen gleichzeitig machen. Unser Datensatz water_park
enthält vier abhängige Variablen, deren Korrelationen wir uns einmal gleichzeitig anschauen können.
## # A tibble: 4 x 13
## variable n min max median q1 q3 iqr mad mean sd
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 beatings 100 1 11 5 4 6 2 1.48 5.01e0 2.02
## 2 sales 100 410 2837 1476 1156. 1861. 706. 554. 1.50e3 500.
## 3 swimmers 100 34 195 97 82 121 39 28.2 1.00e2 30.0
## 4 tempera~ 100 11.9 45.6 25.1 21.0 28.9 7.98 6.00 2.50e1 6.00
## # ... with 2 more variables: se <dbl>, ci <dbl>
## # A tibble: 4 x 5
## rowname temperature swimmers sales beatings
## * <chr> <dbl> <dbl> <dbl> <dbl>
## 1 temperature 1 0.86 0.79 0.75
## 2 swimmers 0.86 1 0.95 0.8
## 3 sales 0.79 0.95 1 0.7
## 4 beatings 0.75 0.8 0.7 1
Um nun beurteilen zu können, ob diese Zusammenhänge statistisch signifikant sind, können wir die Funktion cor_get_pval()
anhängen und erhalten die korrespondierenen \(p\)-Werte der eben erstellten Korrelationen.
## # A tibble: 4 x 5
## rowname temperature swimmers sales beatings
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 temperature 0. 2.25e-30 1.58e-22 4.99e-19
## 2 swimmers 2.25e-30 0. 1.76e-51 2.25e-23
## 3 sales 1.58e-22 1.76e-51 0. 5.36e-16
## 4 beatings 4.99e-19 2.25e-23 5.36e-16 0.
Bei insgesamt vier Variablen haben wir noch einen guten Überblick, aber mit wachsendem Datensatz kann dieser Überblick schnell verloren gehen. Eine gute Möglichkeit, sich viele Korrelationen auf einmal anzuschauen liefert ein Korrelogramm, das wir mit dem Paket corrgram
erstellen können.
library(corrgram)
outcomes <- water_park %>%
select(-day_id) %>%
corrgram(upper.panel = panel.conf,
diag.panel = panel.density)
Interessant ist, dass alle Variablen miteinander positiv korrelieren. Und auch hier müssen wir ganz klar in unserer Interpretation sein. Die Variablen hängen zusammen, aber verursachen sich nicht kausal. Denn letzteres würde bedeuten, dass höhere Temperaturen zu mehr Schlägereien führten, höhere Verkaufs-Umsetze des Kiosks zu höheren Temperaturen, oder mehr Schlägereien zu höheren Tages-Umsetzen. Das macht alles nicht wirklich Sinn, und daran kann man gut erkennen, dass Korrelationen keine Kausalitäten liefern.
Für percentage bend correlations nutzen wir pball()
, für Korrelationen basierend auf winsorized Daten winall()
.
## Call:
## pball(x = .)
##
## Robust correlation matrix:
## temperature swimmers sales beatings
## temperature 1.0000 0.8256 0.7576 0.7014
## swimmers 0.8256 1.0000 0.9458 0.7703
## sales 0.7576 0.9458 1.0000 0.6760
## beatings 0.7014 0.7703 0.6760 1.0000
##
## p-values:
## temperature swimmers sales beatings
## temperature NA 0 0 0
## swimmers 0 NA 0 0
## sales 0 0 NA 0
## beatings 0 0 0 NA
##
##
## Test statistic H: Inf, p-value = 0
## Call:
## winall(x = .)
##
## Robust correlation matrix:
## temperature swimmers sales beatings
## temperature 1.0000 0.7894 0.7089 0.5975
## swimmers 0.7894 1.0000 0.9362 0.6926
## sales 0.7089 0.9362 1.0000 0.6245
## beatings 0.5975 0.6926 0.6245 1.0000
##
## p-values:
## temperature swimmers sales beatings
## temperature NA 0 0 0
## swimmers 0 NA 0 0
## sales 0 0 NA 0
## beatings 0 0 0 NA
Für non-parametrische Tests, von deren Verwendung hier im Zuge der zur Verfügung stehenden robusten Tests wieder entschieden abgeraten wird, gehen wir genau so wie bei der parametrischen Variante vor, aber geben auch hier wieder eine andere Methode als Funktions-Argument mit.
## # A tibble: 4 x 5
## rowname temperature swimmers sales beatings
## * <chr> <dbl> <dbl> <dbl> <dbl>
## 1 temperature 1 0.82 0.75 0.7
## 2 swimmers 0.82 1 0.95 0.75
## 3 sales 0.75 0.95 1 0.66
## 4 beatings 0.7 0.75 0.66 1
## # A tibble: 4 x 5
## rowname temperature swimmers sales beatings
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 temperature 0. 6.43e-26 2.36e-19 1.02e-15
## 2 swimmers 6.43e-26 0. 1.37e-49 4.62e-19
## 3 sales 2.36e-19 1.37e-49 0. 8.92e-14
## 4 beatings 1.02e-15 4.62e-19 8.92e-14 0.
## # A tibble: 4 x 5
## rowname temperature swimmers sales beatings
## * <chr> <dbl> <dbl> <dbl> <dbl>
## 1 temperature 1 0.65 0.570 0.55
## 2 swimmers 0.65 1 0.81 0.6
## 3 sales 0.570 0.81 1 0.51
## 4 beatings 0.55 0.6 0.51 1
## # A tibble: 4 x 5
## rowname temperature swimmers sales beatings
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 temperature 1.17e-48 1.14e-21 6.23e-17 4.44e-14
## 2 swimmers 1.14e-21 2.18e-48 2.16e-32 1.09e-16
## 3 sales 6.23e-17 2.16e-32 3.79e-49 1.33e-12
## 4 beatings 4.44e-14 1.09e-16 1.33e-12 2.83e-38
Ein super interessantes Beispiel bescheren uns Stulp et al. (2013). Sie sammelten Daten zur Größe von US-Präsidenten und untersuchten, ob die Größe eines Präsidentschaftskandidaten einen Einfluss auf das Wählerverhalten der US-Amerikaner hat. Sie untersuchten unter anderem die Hypothese, ob die relative Größe, also das Verhältnis der Größe des gewählten Präsidenten zu der des erfolgreichsten Gegenkandidaten, einen Einfluss auf den popular vote hatte. In den USA gibt es das Wahlmänner-System: Die Wähler wählen Wahlmänner (electoral college), die dann erst in einem nächsten Schritt den Präsidenten wählen (electoral vote). Mit dem popular vote bezeichnet man den “eigentlichen” prozentualen Anteil der Wähler, die einen Präsidenten gewählt haben. Wichtig hierbei ist, dass sich popular vote und electoral vote unterscheiden können – ein Kanditat muss so nicht mehr als die Hälfte der Wähler (> 50% des popular vote) von sich überzeugen, um Präsident zu werden.
Den Datensatz finden wir in der Excel-Datei president_heights.xlsx
(zu finden im Ordner data
des GitHub-Repositories) und ist eine gekürzte Fassung des von Stulp et al. (2013) zur Verfügung gestellten Datensatzes. Da es sich hier um eine Excel-Datei handelt, benötigen wir das Paket readxl
aus dem Tidyverse, um diese Daten einzulesen. Um unseren einheitlichen Stil umzusetzen, bereinigen wir die Variablen-Namen direkt mit der Funktion clean_names()
aus dem Paket janitor
.
# Pakets laden
library(readxl)
library(janitor)
# Daten laden
presidents_heights <- read_excel("data/presidents_heights.xlsx") %>%
clean_names()
presidents_heights
## # A tibble: 61 x 10
## president election_year president_number party height height_most_pop~
## <chr> <dbl> <dbl> <chr> <dbl> <dbl>
## 1 George W~ 1789 1 No p~ 188 NA
## 2 George W~ 1792 1 Fede~ 188 NA
## 3 John Ada~ 1796 2 Fede~ 170 NA
## 4 Thomas J~ 1800 3 Demo~ 189 NA
## 5 Thomas J~ 1804 3 Demo~ 189 NA
## 6 James Ma~ 1808 4 Demo~ 163 NA
## 7 James Ma~ 1812 4 Demo~ 163 NA
## 8 James Mo~ 1816 5 Demo~ 183 NA
## 9 James Mo~ 1820 5 Demo~ 183 NA
## 10 John Qui~ 1824 6 Demo~ 171 185
## # ... with 51 more rows, and 4 more variables: popular_vote_president <dbl>,
## # popvote_most_popular_opponent <dbl>,
## # ratio_height_president_height_most_popular_opponent <dbl>,
## # ratio_pop_vote_president_pop_vote_most_popular_opponent <dbl>
Wir betrachten hier einen Datensatz mit 61 Zeilen (“Wahlen”) und 10 Variablen. In der Variable president
ist der Name des Präsidenten eingetragen, in election_year
das Wahljahr, dann die Stelle des gewählten Kandidaten in der Reihenfolge der Präsidenten (president_number
), die Partei (party
), die Größe des gewählten Präsidenten (height
), die Größe des erfolgreichsten Gegenkandidaten (height_most_popular_opponent
), der popular vote für den gewählten Präsidenten (popular_vote_president
) und selbes für den erfolgreichsten Gegenkandidaten (popvote_most_popular_opponent
). Die letzten beiden Variablen sind jeweils das Verhältnis der Größe und des popular vote von gewähltem Präsidenten und Gegenkandidaten.
Wann immer solche Prozentsätze, Summen oder Mittelwerte gebildet wurden, dürfen wir berechtigterweise skeptisch sein (auch in der Forschung wird so etwas, je nach Kenntnisstand des Ausfüllenden auch noch mal per Hand gemacht) und solche Werte selbst berechnen1. Das machen wir doch direkt mal: Für die relative Größe des Gewinners teilen wir die Größe des Gewinners durch die des erfolgreichsten Gegenkandidaten. Beim popular vote handelt es sich bereits um Prozente, für den relativen Anteil teilen wir also den popuar vote des Präsidenten durch die Summe des popular votes des Präsidenten und des erfolgreichsten Gegenkandidaten. \[\text{ratio_vote} = \dfrac{\text{vote president}}{\text{vote president} + \text{vote opponent}}\]
presidents_heights <- presidents_heights %>%
mutate(
ratio_height = height / height_most_popular_opponent,
ratio_vote = popular_vote_president / (popular_vote_president + popvote_most_popular_opponent),
)
Wie immer, ist es eine gute Idee, die Daten erst einmal zu betrachten, bevor wir anfangen, wilde Modelle zu berechnen. Uns interessiert der Zusammenhang zwischen zwei Variablen: Der relativen Größe des Präsidenten mit dem relativen Anteil am popular vote.
## # A tibble: 2 x 13
## variable n min max median q1 q3 iqr mad mean sd se
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 ratio_h~ 46 0.908 1.18 1.01 0.98 1.04 0.062 0.041 1.01 0.054 0.008
## 2 ratio_v~ 47 0.428 0.652 0.539 0.517 0.580 0.063 0.047 0.548 0.045 0.007
## # ... with 1 more variable: ci <dbl>
Lut deskriptiver Statistiken und Abbildungen haben wir keine unplausiblen Werte oder Ausreißer in diesem Datensatz. Betrachten wir anschließend das Streudiagramm der beiden Variablen.
Wir können relativ leicht erkennen, dass es einen positiven Zusammenhang zwischen dem Verhältnis der Größen der beiden Kandidaten mit dem Verhältnis des popular vote gibt. Je größer ein Kandidat also im Vergleich zu seinem Gegner ist, desto größer ist der Anteil des popular vote, den der Kandidat abgreifen kann.
Die Durchführung ist wie immer kurz und schmerzlos.
## # A tibble: 1 x 8
## var1 var2 cor statistic p conf.low conf.high method
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
## 1 ratio_height ratio_vote 0.39 2.84 0.00688 0.116 0.613 Pearson
Die sich ergebende Korrelation ist identisch mit der der Autoren (Stulp et al., 2013, S. 163), \(r = .39, p = .007\). An dieser Stelle wieder der Hinweis, dass es sich nicht um einen Kausalen Zusammenhang handeln muss. Relativ größere Kandidaten fahren relativ gesehen mehr Stimmen ein, aber wir wissen nicht, ob das tatsächlich wegen der Größe so ist.
We found a significant correlation between the height ratio of presidential candidates with their most popular opponent and the ratio of the popular vote, \(r = .39, p = .007\).
Auch robust können wir einen Zusammenhang feststellen. Wir haben oben zwei Verfahren kennengelernt, die percentage bend correlation und die Korrelation basierend auf “winsorizierten” Daten.
## Call:
## pbcor(x = ratio_height, y = ratio_vote)
##
## Robust correlation coefficient: 0.4134
## Test statistic: 3.0115
## p-value: 0.0043
## Call:
## wincor(x = ratio_height, y = ratio_vote)
##
## Robust correlation coefficient: 0.4017
## Test statistic: 2.9097
## p-value: 0.00732
Die Korrelationen wären, je nach Methode, \(\rho_{pb} = .413, p = .004\) (für die percentage bend correlation) oder \(\rho_w = .402, p = .007\) (für die winsorized correlation).
Howell, D. C. (1997). Statistical Methods for Psychology (4th ed.). Duxbury Press.
Mair, P., & Wilcox, R. R. (2020). Robust statistical methods in R using the WRS2 package. Behavior Research Methods, 52(2), 464–488. https://doi.org/10.3758/s13428-019-01246-w
Stulp, G., Buunk, A. P., Verhulst, S., & Pollet, T. V. (2013). Tall claims? Sense and nonsense about the importance of height of US presidents. The Leadership Quarterly, 24(1), 159–171. https://doi.org/10.1016/j.leaqua.2012.09.002
Wilcox, R. R. (2017). Introduction to Robust Estimation and Hypothesis Testing (4th ed.). Elsevier Academic Press.
In diesem Fall war jemand fähiges am Werke, denn die Daten stimmen. Wer möchte, kann also darauf verzichten, die Verhältnisse selbst zu berechnen, es ist jedoch eine schöne Übung.↩︎