Ç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")| 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")| İ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