library(tidyverse) library(lubridate) ########### Aufgabe 1 steam = read_csv('https://raw.githubusercontent.com/NikoStein/dma_data/main/steam.csv') # Welche Spiele hatten im Februar 2021 die meisten durchschnittlichen Nutzer? steam %>% arrange(-avg) %>% filter(month == 'February', year == 2021) # Welche Spiele hatten im Jahr 2020 die meisten durchschnittlichen Nutzer? steam %>% filter(year == 2020) %>% group_by(gamename) %>% summarise(avg_year = mean(avg)) %>% arrange(-avg_year) # Bestimmen sie alle Spiele die in der Vergangenheit in mindestens einem Monat am ## beliebtesten waren. Wie oft waren die jeweiligen Spiele auf Platz 1? steam %>% group_by(year, month) %>% filter(avg == max(avg)) %>% group_by(gamename) %>% summarise(count = n()) %>% arrange(-count) ########### Aufgabe 2 covid19 = read_csv('https://opendata.arcgis.com/api/v3/datasets/dd4580c810204019a7b8eb3e0b329dd6_0/downloads/data?format=csv&spatialRefId=4326') bundeslaender = read_csv('https://raw.githubusercontent.com/NikoStein/dma_data/main/bundeslaender.csv') kreise = read_csv('https://raw.githubusercontent.com/NikoStein/dma_data/main/gemeinden.csv') covid19 %>% mutate(Meldedatum = ymd_hms(Meldedatum), Datenstand = dmy_hm(Datenstand), Refdatum = ymd_hms(Refdatum)) -> covid19 # Wie viele Personen sind bisher in Deutschland an COVID-19 erkrankt? ## Wie viele Personen sind davon verstorben, wieder genesen oder noch immer infiziert? covid19 %>% summarise(erkrankt = sum(AnzahlFall), genesen = sum(AnzahlGenesen), verstorben = sum(AnzahlTodesfall)) %>% mutate(infiziert = erkrankt - genesen - verstorben) # Reporten Sie die Anzahl der Erkrankten je Altersgruppe. covid19 %>% group_by(Altersgruppe, Geschlecht) %>% summarise(erkrankt = sum(AnzahlFall), genesen = sum(AnzahlGenesen), verstorben = sum(AnzahlTodesfall)) %>% mutate(infiziert = erkrankt - genesen - verstorben) # In welchem Monat sind bisher die meisten Personen in Deutschland erkrankt? covid19 %>% mutate(jahr = year(Refdatum), monat = month(Refdatum)) %>% group_by(jahr, monat) %>% summarise(erkrankt = sum(AnzahlFall)) %>% arrange(-erkrankt) # Berechnen Sie die Zahl der täglichen Neuinfektionen sowie die Zahl der kumulierten ## Infektionen auf Bundeslandebene covid19 %>% group_by(Bundesland, Refdatum) %>% summarise(neuinfektion = sum(AnzahlFall), BL_ID = first(IdBundesland)) %>% arrange(Bundesland, Refdatum) %>% group_by(Bundesland) %>% mutate(kummulierteInfektionen = cumsum(neuinfektion)) -> covid19_bundeslaender covid19_bundeslaender # Berechnen Sie die tägliche 7-Tage-Inzidenz der einzelnen Bundesländer. ## Einwohnerzahlen der Bundesländer finden Sie im Data Frame „bundeslaender“. covid19_bundeslaender %>% group_by(Bundesland) %>% mutate(neuinfektion7d = kummulierteInfektionen - lag(kummulierteInfektionen, 7, default = 0)) %>% left_join(bundeslaender) %>% mutate(inzidenz7d = neuinfektion7d/EWZ_BL*100000) -> covid19_inzidenz # Reporten Sie für jedes Bundesland den Tag mit der höchsten Inzidenz sowie den zugehörigen Inzidenzwert. covid19_inzidenz %>% group_by(Bundesland) %>% summarise(datum = Refdatum[inzidenz7d == max(inzidenz7d)], inzidenz = max(inzidenz7d)) # Berechnen Sie die tägliche 7-Tage-Inzidenz der einzelnen Kreise. Einwohnerzahlen der Kreise finden ## Sie im Data Frame „kreise“. Welche 10 Kreise sind momentan am stärksten betroffen? Welche am wenigsten stark?