1) Vytvořte sloupcový graf, který bude zobrazovat počty mužů a žen. ggplot(Katan, # sloupcový graf četnosti proměnné Pohlaví aes(Pohlaví)) + geom_bar(stat='count', fill='#000000') Spolu 2) Vytvořte datovou tabulku s dvěma sloupci, kde v prvním bude pohlaví a ve druhém podíl daného pohlaví v databázi Katan. Dplyr netřeba. Četnost <- table(Katan$Pohlaví)/length(Katan$Pohlaví) Tabulka <- as.data.frame(Četnost) names(Tabulka) <- c("Pohlaví", "Zastoupení") ggplot(Tabulka, # sloupcový graf četnosti proměnné Pohlaví aes(x = Pohlaví, y = Zastoupení)) + geom_bar(stat = "identity") Sami 3) Vytvořte sloupcový graf, který bude zobrazovat počty spojů v jednotlivých letech. library(dplyr) library(ggplot2) Praha_Ostrava$Pravidelnost <- nchar(Praha_Ostrava$Frekvence) Data2 <- Praha_Ostrava %>% group_by(Rok) %>% summarise(Spoje = sum(Pravidelnost)) %>% ggplot(aes(x = Rok, y = Spoje)) + geom_bar(stat = "identity") Spolu 4) Vytvořte sloupcový graf, který bude zobrazovat počty spojů v jednotlivých letech podle dopravců. # pozor na parametr fill a colour # Najdi chybu Praha_Ostrava$Pravidelnost <- nchar(Praha_Ostrava$Frekvence) Data3 <- Praha_Ostrava %>% group_by(Rok, Dopravce) %>% summarise(Spoje = sum(Pravidelnost)) ggplot(Data3, aes(x = Rok, y = Spoje, fill = Dopravce)) + geom_bar(stat = "identity") vs: Praha_Ostrava$Pravidelnost <- nchar(Praha_Ostrava$Frekvence) Data3 <- Praha_Ostrava %>% group_by(Rok, Dopravce) %>% summarise(Spoje = sum(Pravidelnost)) ggplot(Data3, # Pokus_data aes(x = Rok, y = Spoje)) + geom_bar(stat = "identity") Sami 5) Vytvořte sloupcový graf, který bude zobrazovat počty spojů v jednotlivých letech podle dopravců. Graf vizuálně upravte. Praha_Ostrava$Pravidelnost <- nchar(Praha_Ostrava$Frekvence) Data3 <- Praha_Ostrava %>% group_by(Rok, Dopravce) %>% summarise(Spoje = sum(Pravidelnost)) ggplot(Data3, aes(x = Rok, y = Spoje, fill = Dopravce)) + geom_bar(stat = "identity") + scale_fill_manual(labels = c("ČD IC/EC/Ex", "ČD SC Pendolino", "Leo Express", "RegioJet"), values = c("#004990", "#668fcc", "#141414", "#FBBF20")) + labs(x = "", y = "", fill = "") + ggtitle("Počty vypravených spojů na trase Praha - Ostrava") + scale_x_continuous(breaks = seq(from = 2010, to = 2018, by = 1), position = "bottom") + theme_economist() + theme( plot.title = element_text(color = "black", size = 20, face = "bold", hjust = 0.5)) Spolu 5) Doplňte předchozí graf o jednotlivé hodnoty ve sloupcích. Praha_Ostrava$Pravidelnost <- nchar(Praha_Ostrava$Frekvence) Data3 <- Praha_Ostrava %>% group_by(Rok, Dopravce) %>% summarise(Spoje = sum(Pravidelnost)) ggplot(Data3, aes(x = Rok, y = Spoje, fill = Dopravce, label = Spoje)) + geom_bar(stat = "identity") + geom_text(size = 5, position = position_stack(vjust = 0.5), colour = "white") + scale_fill_manual(labels = c("ČD IC/EC/Ex", "ČD SC Pendolino", "Leo Express", "RegioJet"), values = c("#004990", "#668fcc", "#141414", "#FBBF20")) + labs(x = "", y = "", fill = "") + ggtitle("Počty vypravených spojů na trase Praha - Ostrava") + scale_x_continuous(breaks = seq(from = 2010, to = 2018, by = 1), position = "bottom") + theme_economist() + theme( plot.title = element_text(color = "black", size = 20, face = "bold", hjust = 0.5)) 6) Načtěte databázi txhousing do konzole. txhousing <- txhousing View(txhousing) Sami 8) Vytvořte sloupcový graf z databáze txhousing, který bude zobrazovat počty prodaných domů v jednotlivých letech. Pozor, databáze obsahuje chybějící hodnoty. Data4 <- txhousing %>% group_by(year) %>% summarise(Počet = sum(sales, na.rm = TRUE)) ------------- ggplot(Data4, aes(x = year, y = sales)) + geom_bar(stat = "identity", fill = "#1F497D") ------------------- # Načtení potřebných knihoven library(dplyr) library(ggplot2) # Předpokládáme, že txhousing je již načtený dataset # Agregace dat podle roku a výpočet celkového počtu prodejů s vyloučením NA hodnot yearly_sales <- txhousing %>% group_by(year) %>% summarise(Počet_prodaných_domů = sum(sales, na.rm = TRUE)) # Vytvoření sloupcového grafu ggplot(yearly_sales, aes(x = year, y = Počet_prodaných_domů)) + geom_col(fill = "steelblue") + # Použití geom_col pro sloupcový graf labs(title = "Počet prodaných domů v jednotlivých letech", x = "Rok", y = "Počet prodaných domů") + theme_minimal() # Použití minimalistického tématu pro čistý vzhled grafu --------------------- # Agregace dat podle roku a výpočet celkového počtu prodejů yearly_sales <- txhousing %>% group_by(year) %>% summarise(Počet_prodaných_domů = sum(sales, na.rm = TRUE)) # Vytvoření vizuálně atraktivního sloupcového grafu ggplot(yearly_sales, aes(x = year, y = Počet_prodaných_domů)) + geom_col(fill = "#56B4E9") + # Modrá barva pro sloupce labs(title = "Počet prodaných domů v jednotlivých letech", subtitle = "Vizualizace prodejů podle dat z txhousing", x = "Rok", y = "Počet prodaných domů", caption = "Data zdroj: txhousing") + theme_tufte() + # Téma z balíčku ggthemes pro čistý design theme(plot.title = element_text(hjust = 0.5, size = 20, face = "bold"), # Centrování a zvýraznění nadpisu plot.subtitle = element_text(hjust = 0.5, size = 16), # Centrování podnadpisu plot.caption = element_text(size = 10, face = "italic"), # Italic pro poznámku axis.text = element_text(size = 12), # Velikost písma pro osy axis.title = element_text(size = 14, face = "bold"), # Zvýraznění popisků os legend.position = "none") # Schování legendy, pokud není potřeba ---------------- Krabicové grafy 1) Znáte krabicové grafy? ggplot(Katan, # krabicový graf proměnné Věk aes(y=Věk)) + geom_boxplot() boxplot(Katan$Věk) 2) Nyní budeme chtít náš boxplot rozdělit podle pohlaví. Jaké máme možnosti? ggplot(Katan, # krabicový graf proměnné Věk podle proměnné Pohlaví aes(x = Pohlaví, y = Věk)) + geom_boxplot() # podobného výsledku bychom dosáhli i za použití parametru fill/colour ggplot(Katan, # krabicový graf proměnné Věk podle proměnné Pohlaví aes(x = '', y = Věk, fill = Pohlaví)) + geom_boxplot() ggplot(Katan, # krabicový graf proměnné Věk podle proměnné Pohlaví aes(x = '', y = Věk, colour = Pohlaví)) + geom_boxplot() 3) Nyní budeme chtít náš bloxplot rozdělit ještě podle toho, zda-li jsou jedinci členy klubu deskových her. Katan$Vzdělání <- factor(Katan$Vzdělání, levels = c("ZŠ", "SŠ", "Bc - VŠ", "VŠ")) ggplot(Katan, # krabicový graf proměnné Věk podle proměnné Pohlaví aes(x = Pohlaví, y = Věk)) + geom_boxplot() + facet_grid(vars(Klub), vars(Vzdělání))