class: center, middle, inverse, title-slide # Tidyverse ile verilerinize
çeki düzen verin ## rstd.io/tidy-up-turkiye --- ## tidyverse .pull-left[ - Tidyverse, veri bilimi için tasarlanmış R paketlerinin prensipli bir koleksiyonudur. - Tüm paketler, temel bir tasarım felsefesi, dilbilgisi ve veri yapısı paylaşır. <br> <img src="img/tidyverse.png" width="50%" style="display: block; margin: auto;" /> ] .pull-right[ <img src="img/tidyverse-packages.png" width="100%" /> ] --- background-image: url(img/fishing-boat.png) background-position: center background-repeat: no-repeat background-size: contain class: inverse # Dünya'da balıkçılık --- - Birleşmiş Milletler'in Balıkçılık ve Su Ürünleri Bölümü ülkelerin balıkçılık üretimi hakkında veri toplar. - Aşağıdaki (pek de çekici olmayan) görselleştirme 2016 yılındaki balıkçılık hasatının dağılımını göstermektedir. <br> .pull-left[ <img src="img/fisheries-data.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ - Toplam hasadı 100.000 tondan az olan ülkeler görselleştirmeye dahil değil. - Source: [Fishing industry by country](https://en.wikipedia.org/wiki/Fishing_industry_by_country) ] --- .question[ Bu görselleştirmeyi nasıl geliştirirsiniz? ] <img src="img/fisheries.png" width="60%" style="display: block; margin: auto;" /> -- - Kıtalara göre görselleştirme - Haritalama --- ## Veri okuma ```r balikcilik <- read_csv("data/balikcilik.csv") ``` ``` ## Parsed with column specification: ## cols( ## ulke = col_character(), ## hasat = col_double(), ## uretim = col_double(), ## toplam = col_double() ## ) ``` ```r names(balikcilik) ``` ``` ## [1] "ulke" "hasat" "uretim" "toplam" ``` --- ## Verilere göz atalım .midi[ ```r balikcilik ``` ``` ## # A tibble: 216 x 4 ## ulke hasat uretim toplam ## <chr> <dbl> <dbl> <dbl> ## 1 Afghanistan 1000 1200 2200 ## 2 Albania 7886 950 8836 ## 3 Algeria 95000 1361 96361 ## 4 American Samoa 3047 20 3067 ## 5 Andorra 0 0 0 ## 6 Angola 486490 655 487145 ## 7 Antigua and Barbuda 3000 10 3010 ## 8 Argentina 755226 3673 758899 ## 9 Armenia 3758 16381 20139 ## 10 Aruba 142 0 142 ## # … with 206 more rows ``` ] --- ## Veri hazırlama Toplam hasadı 100.000 tondan az olan ülkeleri filtreleyerek çıkaralım: .midi[ ```r balikcilik <- balikcilik %>% filter(toplam > 100000) balikcilik ``` ``` ## # A tibble: 82 x 4 ## ulke hasat uretim toplam ## <chr> <dbl> <dbl> <dbl> ## 1 Angola 486490 655 487145 ## 2 Argentina 755226 3673 758899 ## 3 Australia 174629 96847 271476 ## 4 Bangladesh 1674770 2203554 3878324 ## 5 Brazil 705000 581230 1286230 ## 6 Cambodia 629950 172500 802450 ## 7 Cameroon 233190 2315 235505 ## 8 Canada 874727 200765 1075492 ## 9 Chad 110000 94 110094 ## 10 Chile 1829238 1050117 2879355 ## # … with 72 more rows ``` ] --- ## Kıta verilerini okuyalım .small[ ```r kitalar <- read_csv("data/kitalar.csv") ``` ``` ## Parsed with column specification: ## cols( ## ulke = col_character(), ## kita = col_character() ## ) ``` ```r kitalar ``` ``` ## # A tibble: 245 x 2 ## ulke kita ## <chr> <chr> ## 1 Afghanistan Asia ## 2 Åland Islands Europe ## 3 Albania Europe ## 4 Algeria Africa ## 5 American Samoa Oceania ## 6 Andorra Europe ## 7 Angola Africa ## 8 Anguilla Americas ## 9 Antigua & Barbuda Americas ## 10 Argentina Americas ## # … with 235 more rows ``` ] --- class: middle # Veri birleştirme --- .pull-left[ ```r balikcilik %>% select(ulke) ``` ``` ## # A tibble: 82 x 1 ## ulke ## <chr> ## 1 Angola ## 2 Argentina ## 3 Australia ## 4 Bangladesh ## 5 Brazil ## 6 Cambodia ## 7 Cameroon ## 8 Canada ## 9 Chad ## 10 Chile ## # … with 72 more rows ``` ] .pull-right[ ```r kitalar ``` ``` ## # A tibble: 245 x 2 ## ulke kita ## <chr> <chr> ## 1 Afghanistan Asia ## 2 Åland Islands Europe ## 3 Albania Europe ## 4 Algeria Africa ## 5 American Samoa Oceania ## 6 Andorra Europe ## 7 Angola Africa ## 8 Anguilla Americas ## 9 Antigua & Barbuda Americas ## 10 Argentina Americas ## # … with 235 more rows ``` ] --- ## Tabloları birleştirme ```r [*]_join(x, y) ``` - `inner_join()`: x ve y'deki ortak satırlar - `left_join()`: x'teki bütün satırlar - `right_join()`: y'deki bütün satırlar - `full_join()`: x ve y'deki bütün satırlar - `anti_join()`: x'te olan ve y'de olmayan bütün satırlar - ... --- ## Set-up Sonraki birkaç slayt için... .pull-left[ ```r x ``` ``` ## # A tibble: 3 x 1 ## value ## <dbl> ## 1 1 ## 2 2 ## 3 3 ``` ] .pull-right[ ```r y ``` ``` ## # A tibble: 3 x 1 ## value ## <dbl> ## 1 1 ## 2 2 ## 3 4 ``` ] --- ## `inner_join()` .pull-left[ ```r inner_join(x, y) ``` ``` ## Joining, by = "value" ``` ``` ## # A tibble: 2 x 1 ## value ## <dbl> ## 1 1 ## 2 2 ``` ] .pull-right[ ![](img/inner-join.gif)<!-- --> ] --- ## `left_join()` .pull-left[ ```r left_join(x, y) ``` ``` ## Joining, by = "value" ``` ``` ## # A tibble: 3 x 1 ## value ## <dbl> ## 1 1 ## 2 2 ## 3 3 ``` ] .pull-right[ ![](img/left-join.gif)<!-- --> ] --- ## `right_join()` .pull-left[ ```r right_join(x, y) ``` ``` ## Joining, by = "value" ``` ``` ## # A tibble: 3 x 1 ## value ## <dbl> ## 1 1 ## 2 2 ## 3 4 ``` ] .pull-right[ ![](img/right-join.gif)<!-- --> ] --- ## `full_join()` .pull-left[ ```r full_join(x, y) ``` ``` ## Joining, by = "value" ``` ``` ## # A tibble: 4 x 1 ## value ## <dbl> ## 1 1 ## 2 2 ## 3 3 ## 4 4 ``` ] .pull-right[ ![](img/full-join.gif)<!-- --> ] --- ## `anti_join()` .pull-left[ ```r anti_join(x, y) ``` ``` ## Joining, by = "value" ``` ``` ## # A tibble: 1 x 1 ## value ## <dbl> ## 1 3 ``` ] .pull-right[ ![](img/anti-join.gif)<!-- --> ] --- .question[ `balikcilik` tablosundaki tum satır ve sütunları tutmak ve bu tablodaki ülkelerin hangi kıtada olduğunu gosteren bir sütun daha eklemek istiyoruz. Hangi `*_join()` foksiyonunu kullanmalıyız? ] .pull-left[ ```r balikcilik %>% select(ulke) ``` ``` ## # A tibble: 82 x 1 ## ulke ## <chr> ## 1 Angola ## 2 Argentina ## 3 Australia ## 4 Bangladesh ## 5 Brazil ## 6 Cambodia ## 7 Cameroon ## 8 Canada ## 9 Chad ## 10 Chile ## # … with 72 more rows ``` ] .pull-right[ ```r kitalar ``` ``` ## # A tibble: 245 x 2 ## ulke kita ## <chr> <chr> ## 1 Afghanistan Asia ## 2 Åland Islands Europe ## 3 Albania Europe ## 4 Algeria Africa ## 5 American Samoa Oceania ## 6 Andorra Europe ## 7 Angola Africa ## 8 Anguilla Americas ## 9 Antigua & Barbuda Americas ## 10 Argentina Americas ## # … with 235 more rows ``` ] --- ## Balıkçılık ve kıtalar tablolarını birleştirme ```r balikcilik <- left_join(balikcilik, kitalar) ``` ``` ## Joining, by = "ulke" ``` -- .question[ `left_join()` foksiyonu bu iki tabloyu `ulke` sütunu üzerinden birleştirmeyi nasıl biliyor? ] İpucu: - Orjinal `balikcilik` tablosundaki sütunlar: ``` ## [1] "ulke" "hasat" "uretim" "toplam" ``` - `kitalar` tablosundaki sütunlar: ``` ## [1] "ulke" "kita" ``` --- ## Verileri kontrol edelim ```r balikcilik %>% filter(is.na(kita)) ``` ``` ## # A tibble: 3 x 5 ## ulke hasat uretim toplam kita ## <chr> <dbl> <dbl> <dbl> <chr> ## 1 Democratic Republic of the Congo 237372 3161 240533 <NA> ## 2 Hong Kong 142775 4258 147033 <NA> ## 3 Myanmar 2072390 1017644 3090034 <NA> ``` --- ## Düzeltmeleri uygulayalım ```r balikcilik <- balikcilik %>% mutate(kita = case_when( ulke == "Democratic Republic of the Congo" ~ "Africa", ulke == "Hong Kong" ~ "Asia", ulke == "Myanmar" ~ "Asia", TRUE ~ kita ) ) ``` -- ...ve tekrar kontrol edelim ```r balikcilik %>% filter(is.na(kita)) ``` ``` ## # A tibble: 0 x 5 ## # … with 5 variables: ulke <chr>, hasat <dbl>, uretim <dbl>, toplam <dbl>, ## # kita <chr> ``` --- .question[ Aşağıdaki kod ne yapar? ] ```r balikcilik <- balikcilik %>% mutate(uretim_orani = uretim / toplam) ``` --- ## Kıtalara göre özetleme ```r balikcilik_ozet <- balikcilik %>% group_by(kita) %>% summarise( uretim_orani_min = min(uretim_orani), uretim_orani_ort = mean(uretim_orani), uretim_orani_max = max(uretim_orani) ) balikcilik_ozet ``` ``` ## # A tibble: 5 x 4 ## kita uretim_orani_min uretim_orani_ort uretim_orani_max ## * <chr> <dbl> <dbl> <dbl> ## 1 Africa 0 0.0943 0.803 ## 2 Americas 0 0.192 0.529 ## 3 Asia 0 0.367 0.782 ## 4 Europe 0.00682 0.165 0.618 ## 5 Oceania 0.0197 0.150 0.357 ``` --- ## Kıtalara göre görselleştirme ```r ggplot(balikcilik_ozet, aes(x = kita, y = uretim_orani_ort)) + geom_col() ``` <img src="tidy-up_files/figure-html/unnamed-chunk-30-1.png" width="2100" /> --- ## Görselleştirmeyi geliştirelim ```r ggplot(balikcilik_ozet, * aes(y = fct_reorder(kita, uretim_orani_ort), x = uretim_orani_ort)) + geom_col() + * scale_x_continuous(labels = percent) + * labs( * x = NULL, y = NULL, * title = "Su ürünleri yetiştiriciliği oranı", * subtitle = "kıta ortalamaları, 2016", * caption = "Kaynak: bit.ly/2VrawTt" * ) + * theme_minimal() ``` --- <img src="tidy-up_files/figure-html/unnamed-chunk-31-1.png" width="2100" /> --- ## Veri çerçevesi oluşturma .pull-left[ ```r kita_ceviri <- tribble( ~kita, ~kita_turkce, "Asia", "Asya", "Americas", "Amerika", "Europe", "Avrupa", "Oceania", "Okyanusya", "Africa", "Afrika" ) ``` ] .pull-right[ ```r kita_ceviri ``` ``` ## # A tibble: 5 x 2 ## kita kita_turkce ## <chr> <chr> ## 1 Asia Asya ## 2 Americas Amerika ## 3 Europe Avrupa ## 4 Oceania Okyanusya ## 5 Africa Afrika ``` ] --- ```r balikcilik_ozet %>% * left_join(kita_ceviri) %>% ggplot(aes(y = fct_reorder(kita_turkce, uretim_orani_ort), x = uretim_orani_ort)) + geom_col() + scale_x_continuous( * labels = percent_format(prefix = "%", suffix = NULL) ) + labs( x = NULL, y = NULL, title = "Su ürünleri yetiştiriciliği oranı", subtitle = "kıta ortalamaları, 2016", caption = "Kaynak: bit.ly/2VrawTt" ) + theme_minimal() ``` ``` ## Joining, by = "kita" ``` --- <img src="tidy-up_files/figure-html/bar-chart-improve-translate-1.png" width="2100" /> --- class: middle # Mapping --- ## Balıkçılık verilerini haritalama - Ülke sınırlarını veri çerçevesi olarak kaydet - `balikcilik` veri çerçevesini ülke sinirlari veri çerçevesi ile birleştir - Ülke sınırlarını çizip içlerini su ürünleri yetiştiriciliği oranıyla doldur --- ## `map_data()` `map_data()` fonksiyonu **maps** paketindeki ülke sınırı verilerini ggplot2 ile görselleștirmesi kolay olacak bir veri çerçevesine çevirir: ```r map_data("world") %>% slice(1:15) ``` ``` ## long lat group order region subregion ## 1 -69.89912 12.45200 1 1 Aruba <NA> ## 2 -69.89571 12.42300 1 2 Aruba <NA> ## 3 -69.94219 12.43853 1 3 Aruba <NA> ## 4 -70.00415 12.50049 1 4 Aruba <NA> ## 5 -70.06612 12.54697 1 5 Aruba <NA> ## 6 -70.05088 12.59707 1 6 Aruba <NA> ## 7 -70.03511 12.61411 1 7 Aruba <NA> ## 8 -69.97314 12.56763 1 8 Aruba <NA> ## 9 -69.91181 12.48047 1 9 Aruba <NA> ## 10 -69.89912 12.45200 1 10 Aruba <NA> ## 11 74.89131 37.23164 2 12 Afghanistan <NA> ## 12 74.84023 37.22505 2 13 Afghanistan <NA> ## 13 74.76738 37.24917 2 14 Afghanistan <NA> ## 14 74.73896 37.28564 2 15 Afghanistan <NA> ## 15 74.72666 37.29072 2 16 Afghanistan <NA> ``` --- ## Veri çerçeveleri: `data.frame` ```r map_data("world") ``` ``` ## long lat group order region subregion ## 1 -69.89912 12.45200 1 1 Aruba <NA> ## 2 -69.89571 12.42300 1 2 Aruba <NA> ## 3 -69.94219 12.43853 1 3 Aruba <NA> ## 4 -70.00415 12.50049 1 4 Aruba <NA> ## 5 -70.06612 12.54697 1 5 Aruba <NA> ## 6 -70.05088 12.59707 1 6 Aruba <NA> ## 7 -70.03511 12.61411 1 7 Aruba <NA> ## 8 -69.97314 12.56763 1 8 Aruba <NA> ## 9 -69.91181 12.48047 1 9 Aruba <NA> ## 10 -69.89912 12.45200 1 10 Aruba <NA> ## 12 74.89131 37.23164 2 12 Afghanistan <NA> ## 13 74.84023 37.22505 2 13 Afghanistan <NA> ## 14 74.76738 37.24917 2 14 Afghanistan <NA> ## 15 74.73896 37.28564 2 15 Afghanistan <NA> ## 16 74.72666 37.29072 2 16 Afghanistan <NA> ## 17 74.66895 37.26670 2 17 Afghanistan <NA> ## 18 74.55899 37.23662 2 18 Afghanistan <NA> ## 19 74.37217 37.15771 2 19 Afghanistan <NA> ## 20 74.37617 37.13735 2 20 Afghanistan <NA> ## 21 74.49796 37.05722 2 21 Afghanistan <NA> ``` --- ## Veri çerçeveleri: `tibble` ```r map_data("world") %>% as_tibble() ``` ``` ## # A tibble: 99,338 x 6 ## long lat group order region subregion ## <dbl> <dbl> <dbl> <int> <chr> <chr> ## 1 -69.9 12.5 1 1 Aruba <NA> ## 2 -69.9 12.4 1 2 Aruba <NA> ## 3 -69.9 12.4 1 3 Aruba <NA> ## 4 -70.0 12.5 1 4 Aruba <NA> ## 5 -70.1 12.5 1 5 Aruba <NA> ## 6 -70.1 12.6 1 6 Aruba <NA> ## 7 -70.0 12.6 1 7 Aruba <NA> ## 8 -70.0 12.6 1 8 Aruba <NA> ## 9 -69.9 12.5 1 9 Aruba <NA> ## 10 -69.9 12.5 1 10 Aruba <NA> ## # … with 99,328 more rows ``` --- ## Daha iyi eşleşme için birkaç düzeltme .question[ Aşağıdaki kod ne yapar? ] ```r dunya_haritasi <- map_data("world") %>% as_tibble() %>% mutate(region = case_when( region == "UK" ~ "United Kingdom", region == "USA" ~ "United States", subregion == "Hong Kong" ~ "Hong Kong", TRUE ~ region ) ) ``` --- ## Dünya haritası .midi[ ```r ggplot(dunya_haritasi, aes(x = long, y = lat, group = group)) + geom_polygon(fill = "gray") + theme_minimal() ``` <img src="tidy-up_files/figure-html/unnamed-chunk-34-1.png" width="2100" /> ] --- ## Balıkçılık ve dunya haritası veri çerçevelerini birleştirelim .pull-left[ ```r balikcilik %>% select(ulke) ``` ``` ## # A tibble: 82 x 1 ## ulke ## <chr> ## 1 Angola ## 2 Argentina ## 3 Australia ## 4 Bangladesh ## 5 Brazil ## 6 Cambodia ## 7 Cameroon ## 8 Canada ## 9 Chad ## 10 Chile ## # … with 72 more rows ``` ] .pull-right[ ```r dunya_haritasi %>% select(region) ``` ``` ## # A tibble: 99,338 x 1 ## region ## <chr> ## 1 Aruba ## 2 Aruba ## 3 Aruba ## 4 Aruba ## 5 Aruba ## 6 Aruba ## 7 Aruba ## 8 Aruba ## 9 Aruba ## 10 Aruba ## # … with 99,328 more rows ``` ] --- ```r balikcilik_haritasi <- left_join(balikcilik, dunya_haritasi, by = c("ulke" = "region")) ``` ```r glimpse(balikcilik_haritasi) ``` ``` ## Rows: 72,685 ## Columns: 11 ## $ ulke <chr> "Angola", "Angola", "Angola", "Angola", "Angola", "Angola", … ## $ hasat <dbl> 486490, 486490, 486490, 486490, 486490, 486490, 486490, 4864… ## $ uretim <dbl> 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, … ## $ toplam <dbl> 487145, 487145, 487145, 487145, 487145, 487145, 487145, 4871… ## $ kita <chr> "Africa", "Africa", "Africa", "Africa", "Africa", "Africa", … ## $ uretim_orani <dbl> 0.001344569, 0.001344569, 0.001344569, 0.001344569, 0.001344… ## $ long <dbl> 23.96650, 23.98828, 24.01006, 24.02559, 24.04141, 24.04668, … ## $ lat <dbl> -10.87178, -11.00283, -11.18477, -11.31563, -11.37412, -11.4… ## $ group <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, … ## $ order <int> 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, … ## $ subregion <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, … ``` --- ## Balıkçılık haritası .midi[ ```r ggplot(balikcilik_haritasi, mapping = aes(x = long, y = lat, group = group)) + geom_polygon(aes(fill = uretim_orani)) + scale_fill_viridis_c() + theme_minimal() ``` <img src="tidy-up_files/figure-html/unnamed-chunk-39-1.png" width="2100" /> ] --- .question[ Aşağıdaki haritada yanıltıcı olan nedir? ] .midi[ <img src="tidy-up_files/figure-html/unnamed-chunk-40-1.png" width="2100" style="display: block; margin: auto;" /> ] --- ## Parçaları bir araya getirelim ```r ggplot() + # 1. katman: bütün ülkelerin sınırları * geom_polygon(dunya_haritasi, mapping = aes(x = long, y = lat, group = group), fill = "lightgray") + # 2. katman: balıkçılık verisi olan ülkelerin değerleri * geom_polygon(balikcilik_haritasi, mapping = aes(x = long, y = lat, group = group, fill = uretim_orani)) + scale_fill_viridis_c() + theme_minimal() ``` --- class: middle <img src="tidy-up_files/figure-html/uretim-yuzde-haritasi-1.png" width="2100" /> --- ## Görselleștirme geliștirme ```r ggplot() + geom_polygon(dunya_haritasi, mapping = aes(x = long, y = lat, group = group), fill = "lightgray") + geom_polygon(balikcilik_haritasi, mapping = aes(x = long, y = lat, group = group, fill = uretim_orani)) + scale_fill_viridis_c( * labels = percent_format(suffix = NULL, prefix = "%") ) + theme_minimal() + * theme(legend.position = "bottom") + labs( x = NULL, y = NULL, * fill = "Üretim oranı", title = "Su ürünleri yetiştiriciliği oranı", subtitle = "Toplam balıkçılık değeri 100.000 tonun üzerindeki ülkeler, 2016", caption = "Kaynak: bit.ly/2VrawTt" ) ``` --- <img src="tidy-up_files/figure-html/uretim-yuzde-haritasi-gelistir-1.png" width="2100" /> --- background-image: url(img/shubham-sharan-Z-fq3wBVfMU-unsplash.jpg) background-position: center background-repeat: no-repeat background-size: contain class: inverse # Öğretim üyeleri --- <img src="img/staff-employment.png" width="80%" style="display: block; margin: auto;" /> Kaynak: [American Association of University Professors (AAUP)](https://www.aaup.org/sites/default/files/files/AAUP_Report_InstrStaff-75-11_apr2013.pdf) --- ## Orjinal veri - Satirlar: Öğretim üyesi kategorileri - Sütunlar: Yıllar - Değerler: Her yıl için bu kategorideki öğretim üyelerinin işe alınma oranı ```r ogretim_uyeleri <- read_csv("data/ogretim-uyeleri.csv") ogretim_uyeleri ``` ``` ## # A tibble: 5 x 12 ## kategori `1975` `1989` `1993` `1995` `1999` `2001` `2003` `2005` `2007` `2009` ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 Doçent … 29 27.6 25 24.8 21.8 20.3 19.3 17.8 17.2 16.8 ## 2 Yardımc… 16.1 11.4 10.2 9.6 8.9 9.2 8.8 8.2 8 7.6 ## 3 Okutman 10.3 14.1 13.6 13.6 15.2 15.5 15 14.8 14.9 15.1 ## 4 Yarı za… 24 30.4 33.1 33.2 35.5 36 37 39.3 40.5 41.1 ## 5 Lisansü… 20.5 16.5 18.1 18.8 18.7 19 20 19.9 19.5 19.4 ## # … with 1 more variable: `2011` <dbl> ``` --- ## İstediğimiz veri - Satirlar: Yıl / Öğretim üyesi kategorileri kombinasyonu - Sütunlar: Yıl, kategori, ve yüzde - Değerler: Her yıl için bu kategorideki öğretim üyelerinin işe alınma oranı <img src="img/wide-to-long.png" width="80%" style="display: block; margin: auto;" /> --- class: center, middle <img src="img/pivot.gif" width="80%" style="display: block; margin: auto;" /> --- ## `pivot_*()` fonksiyonlari ![](img/tidyr-longer-wider.gif)<!-- --> --- ## `pivot_longer()` ```r pivot_longer(data, cols, names_to = "isim", values_to = "deger") ``` 1. `data` 2. `cols` (pivot edilecek sütunlar) - `kategori` dıșındaki bütün sütunlar 3. `names_to` (orjinal verideki sütun isimlerinin koyulacağı yeni sütunun ismi) - `yil` 4. `values_to`(orjinal verideki değerlerin koyulacağı yeni sütunun ismi) - `yuzde` --- .midi[ ```r ogretim_uyeleri_uzun <- ogretim_uyeleri %>% pivot_longer(cols = -kategori, names_to = "yil", values_to = "yuzde") %>% mutate(yuzde = as.numeric(yuzde)) ogretim_uyeleri_uzun ``` ``` ## # A tibble: 55 x 3 ## kategori yil yuzde ## <chr> <chr> <dbl> ## 1 Doçent / Profesör 1975 29 ## 2 Doçent / Profesör 1989 27.6 ## 3 Doçent / Profesör 1993 25 ## 4 Doçent / Profesör 1995 24.8 ## 5 Doçent / Profesör 1999 21.8 ## 6 Doçent / Profesör 2001 20.3 ## 7 Doçent / Profesör 2003 19.3 ## 8 Doçent / Profesör 2005 17.8 ## 9 Doçent / Profesör 2007 17.2 ## 10 Doçent / Profesör 2009 16.8 ## # … with 45 more rows ``` ] --- .question[ Bu görselleştirmeyi nasıl düzeltebiliriz? ] .small[ ```r ogretim_uyeleri_uzun %>% ggplot(aes(x = yuzde, y = yil, color = kategori) ) + geom_col(position = "dodge") ``` <img src="tidy-up_files/figure-html/unnamed-chunk-46-1.png" width="2100" /> ] --- .midi[ ```r ogretim_uyeleri_uzun %>% ggplot(aes(x = yuzde, y = yil, * fill = kategori) ) + geom_col(position = "dodge") ``` <img src="tidy-up_files/figure-html/unnamed-chunk-47-1.png" width="2100" /> ] --- .midi[ ```r ogretim_uyeleri_uzun %>% ggplot(aes(x = yuzde, y = yil, fill = kategori)) + geom_col() ``` <img src="tidy-up_files/figure-html/unnamed-chunk-48-1.png" width="2100" /> ] --- .midi[ ```r ogretim_uyeleri_uzun %>% ggplot(aes(x = yil, y = yuzde, group = kategori, color = kategori)) + geom_line() + theme_minimal() ``` <img src="tidy-up_files/figure-html/unnamed-chunk-49-1.png" width="2100" /> ] --- .midi[ ```r ogretim_uyeleri_uzun %>% * ggplot(aes(x = as.numeric(yil), y = yuzde, group = kategori, color = kategori)) + geom_line() + theme_minimal() ``` <img src="tidy-up_files/figure-html/unnamed-chunk-50-1.png" width="2100" /> ] --- .midi[ <img src="tidy-up_files/figure-html/ogretim-line-default-1.png" width="2100" /> ] --- .midi[ ```r ogretim_uyeleri_uzun %>% mutate(yari_zamanli = * if_else(kategori == "Yarı zamanlı öğretim görevlisi", * "Yarı zamanlı öğretim görevlisi", "Diğer öğretim üyeleri")) %>% ggplot(aes(x = as.numeric(yil), y = yuzde/100, group = kategori, * color = yari_zamanli)) + geom_line() + theme_minimal() ``` ] --- .midi[ <img src="tidy-up_files/figure-html/ogretim-line-kirmizi-1.png" width="2100" /> ] --- .midi[ ```r ogretim_uyeleri_uzun %>% mutate(yari_zamanli = if_else(kategori == "Yarı zamanlı öğretim görevlisi", "Yarı zamanlı öğretim görevlisi", "Diğer öğretim üyeleri")) %>% ggplot(aes(x = as.numeric(yil), y = yuzde/100, group = kategori, * color = fct_rev(yari_zamanli))) + geom_line() + * scale_color_manual(values = c("red", "gray")) + scale_y_continuous( * labels = percent_format(accuracy = 1, prefix = "%", suffix = NULL) ) + theme_minimal() + * labs(title = "Öğretim üyelerinin ișe alınma trendleri", * x = "Yil", y = "Oran", color = NULL) + * theme(legend.position = "bottom") ``` ] --- class: middle, center background-image: url("img/greg-rakozy-oMpAz-DN-9I-unsplash.jpg") <font color="white" style="bold" size="100px">Daha fazla bilgi için: tidyverse.org ve <br> rstudio.com/resources/cheatsheets <br> (Türkçe Çeviriler)!</font> .footnote[ Photo by Greg Rakozy on Unsplash. ]