1) Zjistěte počty zrušených a nezrušených letů podle destinací (Dest). install.packages("hflights") library(hflights) flights <- hflights # proměnná Cancelled obsahuje nuly a jedničky (zrušený let) flights %>% group_by(Dest) %>% summarise(Cancelled = sum(Cancelled), Not_Cancelled = n()-sum(Cancelled)) 2) Příkaz arrange Katan2 <- arrange(Katan, Věk, Pohlaví, Partie) 3) Zjistěte pro jednotlivé dopravce tři největší zpoždění v roce (top_n(3, proměnná)). Výsledná databáze by měla obsahovat proměnné: UniqueCarrier, Month, DayofMonth, DepDelay. Seřaďte dopravce podle abecedy a jejich zpoždění od největší po nejmenší. flights %>% group_by(UniqueCarrier) %>% select(Month, DayofMonth, DepDelay) %>% top_n(3, DepDelay) %>% arrange(UniqueCarrier, DepDelay) 4) V jakém měsíci je nejvíce zrušených letů? delay <- flights %>% filter(Cancelled == 1) table(delay$Month) 5) Zobrazte sloupcový graf, kde jednotlivé sloupce budou označovat měsíce a jejich počet zpoždění.Upravte osy x a y. ggplot(delay, aes(x = Month)) + geom_bar(fill= "#1F497D") + scale_y_continuous(breaks = seq(from = 0, to = 1200, by = 100)) + scale_x_continuous(breaks = seq(from = 1, to = 12, by = 1), position = "bottom") 6) Vytvořte tabulku, která bude zobrazovat roční tempa růstu počtu všech vypravených spojů (v jednom týdnu) v jednotlivých letech. https://rlandio.cz/Praha_Ostrava.xlsx https://elandio.fra1.cdn.digitaloceanspaces.com/cesta/Praha_Ostrava.xlsx Nejdřív se podívat na tabulku a povědět si, co mají dělat. 1. krok udělat společně a poté si říct, co mají dělat. 2. použijí funkci, ukázka lag(1:5) a nchar - vyhledat příkaz Praha_Ostrava$Pravidelnost <- nchar(Praha_Ostrava$Frekvence) Data <- Praha_Ostrava %>% group_by(Rok) %>% summarise(Součet = sum(Pravidelnost)) %>% mutate(Růst = (Součet-lag(Součet))/lag(Součet)*100) 7) To samé jako v předchozím příkladu, ale tentokrát pouze pro RegioJet zvlášť. Praha_Ostrava$Pravidelnost <- nchar(Praha_Ostrava$Frekvence) RJ <- Praha_Ostrava %>% filter(Dopravce == "RJ") %>% group_by(Rok) %>% summarise(Součet = sum(Pravidelnost)) %>% mutate(Růst = (Součet-lag(Součet))/lag(Součet)*100) ----------------------------------------------------------- -) Vytvořte bodový a liniový graf pro proměnné Věk a Partie. library(tidyverse) ggplot(Katan, # bodový graf mezi proměnnými Věk a Partie aes(x = Věk, y = Partie)) + geom_point() -) Změňte barvu pro muže na modrou a ženy na červenou. ggplot(Katan, # bodový a liniový graf mezi proměnnými Věk a Partie aes(x = Věk, y = Partie, fill = Pohlaví)) + facet_grid(~Klub) + geom_point() + scale_fill_manual(values = c("#1F497D", "#C0504D")) ----------------------------------------------------------- 8) Vykreslete graf úvodního příkladu. Použijte pro křivku modrou barvu. ggplot(Data, aes(x = Rok, y = Součet)) + geom_point(colour= "#000000", size = 1) + geom_line(colour= "#004990", size = 1) 9) Ukázka již upraveného grafu. library(ggthemes) ggplot(Data, aes(x = Rok, y = Součet)) + geom_line(colour= "#004990", size = 2) + ggtitle(expression(atop(bold("Vývoj počtu spojů"), atop("mezi léty 2010 až 2018"), ""))) + theme_economist() + scale_y_continuous(breaks = seq(from = 140, to = 260, by = 10)) + scale_x_continuous(breaks = seq(from = 2010, to = 2018, by = 1), position = "bottom") + labs(x = "", y = "") + theme( plot.title = element_text(color = "black", size = 20, face = "bold", hjust = 0.5), axis.title.x = element_text(color = "black", size = 12), # axis.title.x definuje grafickou podobu názvu osy x. # My však vzhledem k příkazu labs(x = "", y = "") název nedefinujeme, # proto je tento příkaz axis.title.x v zásadě zbytečný, obdobně i # axis.title.y. axis.title.y = element_text(color = "black", size = 12), plot.background = element_rect(fill = "#DBE5F1", colour = "#DBE5F1"), legend.title = element_blank()) 10) Vytvořte graf, který bude zobrazovat procentní změnu počtu spojů Českých drah včetně Pendolina vůči roku 2010 (v procentech). - ukázat výsledek Praha_Ostrava$Pravidelnost <- nchar(Praha_Ostrava$Frekvence) Data <- Praha_Ostrava %>% filter(Dopravce == "ČD" | Dopravce == "ČD_SC") %>% group_by(Rok) %>% summarise(Součet = sum(Pravidelnost)) %>% mutate(Zmena = ((Součet-Součet[1])/Součet[1]*100), 3) ggplot(Data, aes(x = Rok, y = Zmena)) + geom_line(colour= "#004990", size = 2) 11) Výše uvedený graf graficky upravme. Praha_Ostrava$Pravidelnost <- nchar(Praha_Ostrava$Frekvence) Data <- Praha_Ostrava %>% filter(Dopravce == "ČD" | Dopravce == "ČD_SC") %>% group_by(Rok) %>% summarise(Součet = sum(Pravidelnost)) %>% mutate(Zmena = round(((Součet-Součet[1])/Součet[1]), 3)) ggplot(Data, aes(x = Rok, y = Zmena)) + geom_line(colour= "#004990", size = 2) + ggtitle(expression(atop(bold("Procentní změny počtu spojů ČD"), atop("vůči roku 2010"), ""))) + theme_economist() + scale_y_continuous(labels = scales::percent_format(accuracy = 1)) + scale_x_continuous(breaks = seq(from = 2010, to = 2018, by = 1), position = "bottom") + labs(x = "", y = "") + theme( plot.title = element_text(color = "black", size = 20, face = "bold", hjust = 0.5), axis.title.x = element_text(color = "black", size = 12), # axis.title.x definuje grafickou podobu názvu osy x. # My však vzhledem k příkazu labs(x = "", y = "") název nedefinujeme, # proto je tento příkaz axis.title.x v zásadě zbytečný, obdobně i # axis.title.y. axis.title.y = element_text(color = "black", size = 12), plot.background = element_rect(fill = "#DBE5F1", colour = "#DBE5F1"), legend.title = element_blank())