Çalışma kapsamında TÜİK veri tabanında yayınlanmış nüfus istastiklerinden yararlanarak uygulamalı dinamik grafik oluşturma çalışması yapılmıştır. Bu amaçla R programla dilinde kayıtlı olan ağırlıklı ggplot2, plotly ve dplyr kütüphaneleri kullanılmıştır.

1 Yüklenen Kütüphaneler

kütüphane<-c("dplyr","tibble","tidyr","ggplot2","ggthemes","DT","readr","RColorBrewer","kableExtra","readxl", "plotly")
yükle<-sapply(kütüphane, require, character.only = TRUE, warn.conflicts = FALSE)
 
#Kütüphane yüklenme durumunu gösteren tablo
 
tablo=suppressWarnings(yükle, classes = "warning")
   
isim=names(tablo)
   
deger=as_tibble(tablo)
   
data.frame(Sıra=1:length(isim), Kütüphane=isim, Durumu=deger$value) %>% mutate(Durumu=if_else(Durumu==TRUE, "Yüklendi", "Paket Kurulumu Gerekli")) %>% kbl(caption = "Kütüphane Yüklenme Bilgisi") %>% kable_classic_2(full_width = F, html_font="calibri")
Kütüphane Yüklenme Bilgisi
Sıra Kütüphane Durumu
1 dplyr Yüklendi
2 tibble Yüklendi
3 tidyr Yüklendi
4 ggplot2 Yüklendi
5 ggthemes Yüklendi
6 DT Yüklendi
7 readr Yüklendi
8 RColorBrewer Yüklendi
9 kableExtra Yüklendi
10 readxl Yüklendi
11 plotly Yüklendi

2 Veri Setinin Okunması

library(readxl)
veri <- read_excel("nufus.xlsx")

# ilk 10 satır

veri %>% head(15) %>% kbl(caption = "İlk 10 Satır") %>% kable_classic_2(full_width = F, html_font="arial")
İlk 10 Satır
İl Yıl Tur Sayi
Adana 2014 Erkek 999803
Adıyaman 2014 Erkek 452491
Afyonkarahisar 2014 Erkek 453731
Ağrı 2014 Erkek 464362
Amasya 2014 Erkek 232291
Ankara 2014 Erkek 1690613
Antalya 2014 Erkek 661827
Artvin 2014 Erkek 166806
Aydın 2014 Erkek 429802
Balıkesir 2014 Erkek 540819
Bilecik 2014 Erkek 94508
Bingöl 2014 Erkek 208034
Bitlis 2014 Erkek 289008
Bolu 2014 Erkek 175931
Burdur 2014 Erkek 150205

3 Veri Setinin indirilmesi

datatable(veri,  class = 'cell-border stripe', filter = 'top', extensions = 'Buttons', caption = 'Veri Kaynağı: TÜİK', options = list(
    dom = 'Bfrtip',
    buttons = c('csv', 'excel', 'print'),searching = FALSE, pageLength = 15
  )
)

4 Grafik Oluşturulması

dinamik= veri %>% group_by(Tur, Yıl) %>% summarise(Toplam=sum(Sayi)) %>% ggplot(aes(x = Yıl, y = Toplam, color = Tur)) +
  geom_line(size=2) +
  facet_wrap(Tur ~ . , scales="free_y") +
  scale_y_continuous(labels = scales::label_comma(scale = 1e-6)) +
  ylab("Milyon")+
  theme(legend.position = "none") +
  theme(
      strip.text.x  = element_text(
        size = 11, color = "black", face = "bold"
        )
      )+
  theme(strip.background = element_rect(colour="black", fill="green", 
                                       size=1.5, linetype="solid")) +
  theme(plot.background = element_rect(fill = "grey90"))
## `summarise()` has grouped output by 'Tur'. You can override using the `.groups` argument.
ggplotly(dinamik)

5 Grafik Oluşturulması 2

veri %>% group_by(Tur, Yıl) %>% summarise(Toplam=sum(Sayi)) %>% mutate(Tur=as.factor(Tur)) %>%
  plot_ly(
    x = ~Yıl, 
    y = ~Toplam, 
    size = ~Toplam, 
    color = ~Tur, 
    frame = ~Yıl, 
    text = ~paste(Tur, "toplam nüfusu:",Toplam), 
    hoverinfo = "text",
    type = 'scatter',
    mode = 'markers') %>% 
  animation_opts(
   1500, easing = "elastic", redraw = FALSE) %>% 
  animation_button(
    x = 1, xanchor = "left", y = 0, yanchor = "bottom", label="Oynat") %>%
  animation_slider(
  currentvalue = list(prefix = "Yıl ", font = list(color="blue", face="bold")))
## `summarise()` has grouped output by 'Tur'. You can override using the `.groups` argument.

Ağırlıklı olarak ggplot2, plotly ve dplyr kütüphanelerinin kullanıldığı bu R Markdown çalışmasının özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunacağı düşünülmektedir.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz

Note: It can not be cited or copied without referencing

6 Yararlanılan Kaynaklar

  1. https://rpubs.com/tevfik1461/deprem
  2. https://tevfikbulut.com/2020/07/12/rda-multinominal-lojistik-regresyon-uzerine-bir-vaka-calismasi-a-case-study-on-multinominal-logistic-regression-in-r/
  3. https://cran.r-project.org/web/packages/DT/DT.pdf 4.https://plotly-r.com/client-side-linking.html