library(tidyverse) library(lubridate) # Aufgabe 1 currency_list = read_csv('https://raw.githubusercontent.com/NikoStein/dma_data/main/currency_list.csv') currency_prices = read_csv('https://raw.githubusercontent.com/NikoStein/dma_data/main/currency_price.csv') gpu_list = read_csv('https://raw.githubusercontent.com/NikoStein/dma_data/main/gpu_list.csv') gpu_prices = read_csv('https://raw.githubusercontent.com/NikoStein/dma_data/main/gpu_price.csv') # a) Stellen Sie die Preisentwicklung der gelisteten Grafikkarten in einem geeigneten Diagramm dar. gpu_list %>% head() gpu_prices %>% head() gpu_prices %>% left_join(gpu_list, by=c('id' = 'id')) %>% ggplot(aes(x=date, y=price, color=name)) + geom_line() + xlab('Datum') + ylab('Preis') + theme_bw() # b) Berechnen Sie die Preisänderung der einzelnen Grafikkarten im Vergleich zum ersten Listing und # speichern Sie diese in einer neuen Variablen. gpu_prices %>% group_by(id) %>% arrange(date) %>% mutate(abs_price_change = price - first(price)) %>% mutate(rel_price_change = abs_price_change/first(price)) %>% left_join(gpu_list, by=c('id' = 'id')) -> gpu_prices_change gpu_prices_change %>% ggplot(aes(x=date, y=rel_price_change, color=name)) + geom_line() + xlab('Datum') + ylab('Preisänderung') + theme_bw() + scale_y_continuous(labels = scales::percent) # c) Offensichtlich unterliegen die Grafikkartenpreise teils großen Schwankungen. Berechnen Sie für jede # gelistete Grafikkarte geeignete Statistiken, um die Preisschwankungen zu aggregieren. # Welche Grafikkarte unterliegt den höchsten Schwankungen, welche den geringsten? gpu_prices_change %>% group_by(name) %>% summarise(min_rel_change = min(rel_price_change), max_rel_change = max(rel_price_change), var_rel_change = var(rel_price_change)) %>% mutate(span = max_rel_change - min_rel_change) %>% arrange(desc(var_rel_change)) # d) Stellen Sie im nächsten Schritt die Preisentwicklung der gelisteten Kryptowährungen in einem geeigneten # Diagramm dar. Berechnen und visualisieren Sie zusätzlich die prozentualen Preisänderungen. currency_prices %>% ggplot(aes(x=date, y=price, color=id)) + geom_line() + theme_bw() currency_prices %>% group_by(id) %>% arrange(date) %>% mutate(abs_price_change = price - first(price)) %>% mutate(rel_price_change = abs_price_change/first(price)) -> currency_prices_change currency_prices_change %>% ggplot(aes(x=date, y=rel_price_change, color=id)) + theme_bw() + scale_y_continuous(labels = scales::percent) + geom_line() # e) Verbinden Sie die beiden Datensätze und vergleichen Sie die Preisentwicklung der Kryptowährungen mit # der Preisentwicklung der Grafikkarten. gpu_prices_change %>% left_join(currency_prices_change, by = c('date' = 'date')) %>% ggplot(aes(x=date)) + geom_line(aes(y=rel_price_change.x, group=name.x), color='red') + geom_line(aes(y=rel_price_change.y, group=name.y), color='blue') + theme_minimal() + xlab('Datum') + ylab("Preisänderung")+ scale_y_continuous(labels = scales::percent) # Aufgabe 2 obesity = read_csv('https://raw.githubusercontent.com/NikoStein/dma_data/main/obesity.csv') # a) Zeigen Sie die weltweite Entwicklung von Adipositas im Zeitverlauf mittels einer geeigneten Grafik. obesity %>% filter(Country %in% c('Afghanistan', 'Germany', 'United States of America', 'Russian Federation', 'Australia', 'Republic of Korea')) %>% ggplot(aes(x=Year, y=ObesePer100, color=Country)) + geom_line() + facet_wrap(~Sex) + theme_bw() # b) In wie vielen Ländern gibt es 2016 einen höheren Anteil an Adipositas als 1975, in wie vielen einen geringeren? obesity %>% na.omit() %>% group_by(Country) %>% summarise(obese75 = ObesePer100[Year == 1975], obese16 = ObesePer100[Year == 2016]) %>% mutate(increased_obesity = obese16 > obese75) %>% ungroup() %>% summarise(n_increase = sum(increased_obesity), count = n()) # c) Vergleichen Sie die Entwicklung von Adipositas in den G7 Staaten # (Deutschland, Frankreich, Italien, Japan, Kanada, Vereinigtes Königreich, USA). g7_nations = c('Germany', 'France', 'Italy', 'Japan', 'Canada', 'United Kingdom of Great Britain and Northern Ireland', 'United States of America') #d) In wie vielen Ländern sind Frauen häufiger von Adipositas betroffen als Männer? # Wie hat sich die Verteilung über die Jahre verändert? obesity %>% na.omit() %>% filter(Year == 2016) %>% group_by(Country) %>% summarise(obeseF = ObesePer100[Sex == 'Female'], obeseM = ObesePer100[Sex == 'Male']) %>% mutate(femaleGmale = obeseF > obeseM) %>% summarise(countFemale = sum(femaleGmale), coutn = n()) obesity %>% na.omit() %>% filter(Country %in% g7_nations) %>% group_by(Country, Year) %>% summarise(obeseF = ObesePer100[Sex == 'Female'], obeseM = ObesePer100[Sex == 'Male']) %>% ggplot(aes(x=Year, group=Country)) + geom_line(aes(y=obeseF), color='red') + geom_line(aes(y=obeseM), color='blue') # e) In welchen Ländern hat Adipositas verhältnismäßig am stärksten zugenommen? Wie erklären Sie sich die Ergebnisse?