library(learnr) library(fontawesome) library(ggplot2)
Um die Daten zu laden, können wir die Funktion nutzen, die im Paket eingebaut ist:
PsyBSc7::Aufgaben_2()
Alternativ können Sie natürlich auch die Schritte durchlaufen, die in der Übung besprochen wurden.
Außerdem muss natürlich ggplot2
geladen werden:
library(ggplot2)
Erstellen Sie einen Datensatz mit dem Namen
covid_se
, der nur die Daten dieser Länder enthält (Myanmar wird im englischsprachigen Raum weiterhin offiziell als "Burma" geführt).
Wie in der Übung für die europäischen Länder vorgeführt, können wir die Selektion z.B. mit den eckigen Klammern machen.
covid_se <- covid[covid$Country.Region %in% c( 'Brunei', 'Burma', 'Cambodia', 'Indonesia', 'Laos', 'Malaysia', 'East Timor', 'Philippines', 'Singapore', 'Thailand', 'Vietnam'), ]
Die Darstellung absoluter Fallzahlen wird häufig als irreführend angesehen, weil Länder mit größerer Bevölkerung mehr mögliche Fälle habe. Nutzen Sie obenstehende Tabelle um die Anzahl bestätigter Fälle an der Bevölkerung zu relativieren und so die bestätigten Fälle pro 100 000 Einwohner zu erhalten. Nennen sie diese Variable
Per100k
.
In der Tabelle sind die Einwohnerzahlen in 100 000 dargestellt. Hier die ausführliche Variante um die Variable zu erstellen, wobei auch Abkürzungen mit Vektoren möglich sind.
covid_se$Per100k <- NA covid_se$Per100k[covid_se$Country.Region == 'Brunei'] <- covid_se$Confirmed[covid_se$Country.Region == 'Brunei'] / 4 covid_se$Per100k[covid_se$Country.Region == 'Burma'] <- covid_se$Confirmed[covid_se$Country.Region == 'Burma'] / 537 covid_se$Per100k[covid_se$Country.Region == 'Cambodia'] <- covid_se$Confirmed[covid_se$Country.Region == 'Cambodia'] / 167 covid_se$Per100k[covid_se$Country.Region == 'Indonesia'] <- covid_se$Confirmed[covid_se$Country.Region == 'Indonesia'] / 2677 covid_se$Per100k[covid_se$Country.Region == 'Laos'] <- covid_se$Confirmed[covid_se$Country.Region == 'Laos'] / 71 covid_se$Per100k[covid_se$Country.Region == 'Malaysia'] <- covid_se$Confirmed[covid_se$Country.Region == 'Malaysia'] / 315 covid_se$Per100k[covid_se$Country.Region == 'East Timor'] <- covid_se$Confirmed[covid_se$Country.Region == 'East Timor'] / 12 covid_se$Per100k[covid_se$Country.Region == 'Philippines'] <- covid_se$Confirmed[covid_se$Country.Region == 'Philippines'] / 1067 covid_se$Per100k[covid_se$Country.Region == 'Singapore'] <- covid_se$Confirmed[covid_se$Country.Region == 'Singapore'] / 58 covid_se$Per100k[covid_se$Country.Region == 'Thailand'] <- covid_se$Confirmed[covid_se$Country.Region == 'Thailand'] / 694 covid_se$Per100k[covid_se$Country.Region == 'Vietnam'] <- covid_se$Confirmed[covid_se$Country.Region == 'Vietnam'] / 955
Stellen Sie die Bestätigten Fälle pro 100 000 Einwohner in Abhängigkeit von der Zeit in einer Abbildung dar. Nutzen Sie Farben um zwischen den Ländern zu unterscheiden.
ggplot(covid_se, aes(x = Day, y = Per100k, color = Country.Region)) + geom_point() + geom_line()
Stellen Sie für jedes Land in einer Teilabbildung die bestätigten Fälle (
Confirmed
), und die Todesfälle (Deaths
) dar. Nutzen sie für die beiden Linien unterschiedliche Farben (aber über alle Länder hinweg die gleichen). Weil sich die Bevölkerungszahlen so drastisch unterscheiden, lassen sie die y-Achse über die Länder hinweg frei variieren.
Auch hier im Beispiel wieder blau für die Fallzahlen und rot für die Todesfälle. Mit free_y
wird in jedem Land eine eigene Skalierung der y-Achse genutzt.
ggplot(covid_se, aes(x = Day)) + geom_line(aes(y = Confirmed), color = 'blue') + geom_line(aes(y = Deaths), color = 'red') + facet_wrap( ~ Country.Region, scales = 'free_y')
Nutzen Sie ein Balkendiagramm, um die relative Häufigkeit verstorbener Personen (
Deaths
) and der Gesamtzahl besätigter Fälle (Confirmed
) pro Land bis zum heutigen Tag darzustellen. Denken Sie daran, dass Sie dafür Daten aggregieren müssen. Füllen Sie die Balken dabei mit länderspezifischen Farben.
Zunächst Daten aggregieren:
covid_deaths <- aggregate(cbind(Confirmed, Deaths) ~ Country.Region, data = covid_se, FUN = 'sum')
Dann muss die relative Häufigkeit als neue Variable im Datensatz erstellt werden:
covid_deaths$DeathRatio <- covid_deaths$Deaths / covid_deaths$Confirmed
Zum Abschluss dann die Abbildung als Balkendiagramm. Auch hier darauf achten, dass die Werte des Datensatzes unverändert dargestellt werden sollen (stat = 'identity'
).
ggplot(covid_deaths, aes(x = Country.Region, y = DeathRatio, fill = Country.Region)) + geom_bar(stat = 'identity')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.