Logo Logo
  • Ana Sayfa
  • Hakkında
  • Kategoriler
    • Genel
    • İstatistik
    • Makine Öğrenme
    • Model Geliştirme
    • Sağlık
    • Teknoloji
  • Tüm Yazılarım
  • İletişim

İletişim

  • Email buluttevfik@gmail.com

Site Haritası

  • Ana Sayfa
  • Hakkında
  • İletişim

Sosyal Medya Adresleri

“crosstalk” Paketi İle Dinamik Tablo Oluşturma Üzerine Bir Vaka Çalışması II: A Case Study on Creating Dynamic Tables with Package “Crosstalk” II

  • ANA SAYFA
  • Blog Details
Ağustos 28 2020
  • İstatistik

R’da başta shiny olmak üzere flexboard ve crosstalk paketleri dinamik tablo oluşturmada kullanılan paketlerden bazılarıdır. Bu çalışmada ise bir önceki çalışmadan farklı olarak crosstalk ve datatable paketleri birlikte kullanılarak adım adım uygulama üzerinde gösterilecektir. Önceki çalışmamızda oluşturulan dinamik tabloya ek olarak bu çalışmada aynı zamanda farklı formatlarda verinin indirilmesine ve yazdırılmasına imkan tanınmıştır. Bu tür çalışmaların bulut üzerinde de barındırılabilmesi ve html (web sayfası) olarak kaydedilebilmesi veri üzerinde zamandan ve mekandan bağımsız olarak çalışmamıza ve veri sunumları yapabilmemize imkan tanımaktadır.

Uygulamada R kod bloklarını R Studio arayüzünde yazdım. Çalışmada kullanılan veri seti TÜİK veri tabanından alınan 15 yaş üstü nüfusun yıllara ve illere göre dağılımını içermektedir. 15 yaş üstü nüfus, Adrese Dayalı Kayıt Sistemi (ADKS)’ne göre elde edilen verilerden oluşmakta olup, 2008-2019 dönemlerini kapsamaktadır.

Kısaca örnek uygulamada kullanılacak veri seti hakkında bilgi verdikten sonra R adım adım uygulamaya geçebiliriz. Öncelikle uygulamada kullanmak üzere oluşturduğum veri seti xlsx uzantılı olarak aşağıda verilmiştir.

Veri Setiİndir

Gerekli kütüphanelerin yüklenmesi

Aşağıda uygulamada ihtiyacınız olacak kütüphanelerden fazlasını verdim. Bunun nedeni bundan sonra da yapacağınız çalışmalarda sizlere fayda sağlayacak olmasıdır.

kütüphaneler<-c("reactable","crosstalk","dplyr","tibble","tidyr","ggplot2","formattable","ggthemes","DT","readr","readxl","ggpubr","formattable", "ggstance")
yükle<-sapply(kütüphaneler, require, character.only = TRUE)
yükle

Yukarıdaki R kod bloğu çalıştırıldıktan sonra kütüphanelerin yüklenme durumu gösteren aşağıdaki mantıksal operatörleri elde ederiz. Yani ilgili kütüphane yüklenmişse TRUE, yüklenmemişse FALSE sonucu göreceksiniz. Sonuçların tamamı TRUE geldiğine göre bütün kütüphaneleri yüklemiş olduk.

Eğer sonuç FALSE gelirse bu durum sizin daha önce bu paketleri kurmadığını göstermektedir. Onun için kolaylık sağlaması adına aşağıdaki R kod bloğunda yazılan kodu çalıştırarak bütün paketleri veya ilgili paketleri aynı anda kurabilirsiniz.

paketler<-c("reactable","crosstalk","dplyr","tibble","tidyr","ggplot2","formattable","ggthemes","readr","readxl","ggpubr","formattable","DT", "ggstance")
install.packages(paketler)

Veri setinin R ortamına yüklenmesi ve analize uygun hale getirilmesi

Burada ilk olarak veri seti okunmuş ardından tibble tablo düzenine alınmıştır. Ardından veri setindeki format geniş düzende olduğu için pivot_longer() fonksiyonu ile uzun formata dönüştürülmüştür. Yani önceki düzen (geniş format)’de “Toplam”, “Kadın” ve “Erkek” değişkenlerinin olduğu sütunlar yeni düzen (uzun format)’de Cinsiyet değişkeni altında toplanmıştır. Önceki düzendeki değişkenlerin değerleri ise Nüfus değişkeni altında toplanmıştır.

df<-read_excel("nufus.xlsx") %>% as_tibble() %>% pivot_longer(
  cols = Toplam:Kadın,
  names_to = "Cinsiyet",
  values_to = "Nüfus"
) %>% mutate(Nüfus=format(Nüfus, big.mark=".", decimal.mark=","))#Nüfus değişkeni burada karakter formatında yani nominal olarak alınmıştır.
df

İlk 10 kaydın tablo formatında gösterilmesi

#ilk 10 kaydın tablo formatında gösterilmesi
df %>% head(10) %>% formattable()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra veri setindeki ilk 10 gözlem tablo formatında aşağıda verilmiştir.

Veri setindeki değişkenlerin veri tipinin ve gözlem sayısının kontrol edilmesi

glimpse(df)

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen sonuçlar aşağıda verilmiş olup, veri setinin 4 değişkenden ve 2916 gözlemden oluştuğu görülmektedir.

Observations: 2,916
Variables: 4
$ Yıl      <dbl> 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 20...
$ İl       <chr> "Adana", "Adana", "Adana", "Adıyaman", "Adıyaman", "Adıy...
$ Cinsiyet <chr> "Toplam", "Erkek", "Kadın", "Toplam", "Erkek", "Kadın", ...
$ Nüfus    <chr> " 1.667.391", "   825.056", "   842.335", "   443.356", ...

Dinamik Tablo Oluşturma

Aşağıdaki R kod bloğunda filter_checkbox() fonksiyonu ile cinsiyet seçeneklerinin olduğu check list oluşturulmuştur. filter_select () fonksiyonu ile içerisinde illerin olduğu liste oluşturulmuştur. filter_slider() fonksiyonu ile ise yılların alt ve üst limitinin olduğu bir band oluşturulmuştur. datatable () fonksiyonu ile yukarıda oluşturulan fonksiyonlara duyarlı, filtreleme yapılabilen ve sayfadaki gözlem sayısının 20 (pageLength) olduğu bir tablo oluşturulmuştur. Aynı fonksiyon içerisinde indirilecek dosya eklentileriyle birlikte kopyalama ve yazdır özelliklerine yer verilmiştir. searchHighlight = TRUE bileşeni ise tablo üzerinde seçtiğiniz satır üzerinde vurgu yapmanızı sağlar.

n<-SharedData$new(df)

bscols(widths = c(3, 9),
  list(
    filter_checkbox("cinsiyet", "Cinsiyet", n, ~Cinsiyet, inline = F),
    filter_select("il", "İli Seçiniz", n, ~İl,  multiple = TRUE),
    filter_slider("yil", "Yılı Seçiniz", n, ~Yıl, width = "100%")),
    datatable(n, caption="15 Yaş Üstü Nüfusun İllere Göre Dağılımı", extensions = 'Buttons', options = list(dom = 'Bfrtip',searchHighlight = TRUE,pageLength = 20, paging = T, buttons = c('copy', 'csv', 'excel', 'pdf', 'print'))))

Yukarıdaki R kod bloğunu çalıştırılmasından sonra elde edilen görüntü png formatında aşağıda verilmiştir.

Yapılan bu çalışmayı RPubs üzerinde yayınlayabileceğiniz gibi localhost olarak da görüntüleyebilir ve ayrıca web sayfası olarak kaydedebilirsiniz.

RPubs üzerinde yayınladığım bu çalışmanın linkine aşağıdan ulaşabilirsiniz.

https://rpubs.com/tevfik1461/dinamiktablo2

Bir önceki çalışmaya ise aşağıdaki linkten erişebilirsiniz.

https://rpubs.com/tevfik1461/dinamiktablo

Eğer yapılan çalışmayı paylaşmak istemiyorsanız ve daha sonra kullanmak üzere web sayfası olarak kaydetmek (Save as Web Page) isterseniz R’da aşağıda ekran görüntüsünü verdiğim yerden bu işlemi yapabilirsiniz. Bu çalışmayı web sayfası olarak da kaydettim ancak sitem html dosya yüklenmesini desteklemediği için yüklemedim.

Yapılan bu çalışmanın özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına önemli 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.

Yararlanılan Kaynaklar

  • http://www.tuik.gov.tr/PreTablo.do?alt_id=1059
  • https://www.r-project.org/
  • https://rstudio.cloud/
  • https://rpubs.com/tevfik1461/dinamiktablo2
  • https://rpubs.com/tevfik1461/dinamiktablo
  • https://rstudio.github.io/DT/options.html
  • https://cran.r-project.org/web/packages/crosstalk/index.html
  • https://cran.r-project.org/web/packages/data.table/vignettes/datatable-intro.html
  • https://cran.r-project.org/web/packages/data.table/index.html
  • https://cran.r-project.org/web/packages/data.table/data.table.pdf
  • http://163.25.93.92/shiny/DT.html
Önceki yazı Sonraki Yazı
copycrosstalkcsvDatatableDinamik TabloDynamic TableexcelOnline TabloPdfprintrectableshinyTabloTÜİK

Yorum Yaz Cevabı iptal et

Son Yazılar

  • Kanada Sağlık Sisteminde Bekleme Süreleri
  • Araştırma Metodolojisi Notları-II
  • Araştırma Metodolojisi Notları-I
  • Microsoft Excel’de Bulut Endeks-Beta [BE-β] Simülasyonu
  • R’da Statik ve Dinamik Haritalama Vaka Çalışmaları: Türkiye Örneği

Son Yorumlar

  1. Küresel İnovasyon Endeksi 2021 Yılı Raporu ve Türkiye - winally.com - Küresel İnovasyon Endeksi’nde Türkiye Ne Durumda?
  2. R’da Birliktelik Kuralları | canözkan - Apriori Algoritması Üzerine Bir Vaka Çalışması: A Case Study on Apriori Algorithm
  3. Tevfik BULUT - Python’da Şans Oyunları Perspektifinden Olasılık : Probability from Perspective of the Chance Games in Python
  4. Ahmet Aksoy - Python’da Şans Oyunları Perspektifinden Olasılık : Probability from Perspective of the Chance Games in Python
  5. Tevfik BULUT - Z Tablosuna Göre Güven Aralığının Hesaplanmasına Yönelik Bir Simülasyon Çalışması: A Simulation Study for Calculating Confidence Interval by Z Table

Arşivler

  • Ocak 2023
  • Ekim 2022
  • Eylül 2022
  • Nisan 2022
  • Mart 2022
  • Ekim 2021
  • Eylül 2021
  • Ağustos 2021
  • Temmuz 2021
  • Haziran 2021
  • Mayıs 2021
  • Nisan 2021
  • Şubat 2021
  • Ocak 2021
  • Aralık 2020
  • Kasım 2020
  • Ekim 2020
  • Eylül 2020
  • Ağustos 2020
  • Temmuz 2020
  • Haziran 2020
  • Mayıs 2020
  • Nisan 2020
  • Mart 2020
  • Şubat 2020
  • Ocak 2020
  • Aralık 2019
  • Kasım 2019
  • Ekim 2019
  • Eylül 2019
  • Ağustos 2019
  • Mayıs 2019
  • Şubat 2019
  • Aralık 2018
  • Eylül 2018
  • Ağustos 2018
  • Temmuz 2018
  • Mayıs 2018
  • Nisan 2018
  • Ekim 2017
  • Temmuz 2017
  • Haziran 2017
  • Mayıs 2017
  • Ocak 2017

Kategoriler

  • Genel
  • İstatistik
  • Makine Öğrenme
  • Model Geliştirme
  • Sağlık
  • Teknoloji

Kategoriler

  • Genel
  • İstatistik
  • Makine Öğrenme
  • Model Geliştirme
  • Sağlık
  • Teknoloji

Etiketler

Accuracy Basit Tesadüfi Örnekleme Bernoulli Olasılık Dağılımı Confusion Matrix Coronavirus Doğruluk Doğruluk Oranı Dünya Sağlık Örgütü EDA Epidemi Epidemiyology Epidemiyoloji Exploratory Data Analysis Exploratory Data Analysis (EDA) F1 Forecast Keşifsel Veri Analizi Kitle Olasılık Fonksiyonu Koronavirüs Koronavirüs Salgını Olasılık Olasılıklı Örneklem OSB Pandemi Point Estimation Point Forecast Prevalance Prevalans Probability Sampling R Recall Salgın Sağlık Bakanlığı Simple Random Sampling Tahmin TBATS TURKEY TÜRKİYE Veri Madenciliği WHO World Health Organization Yapay Zeka ÇKKV Örneklem Örneklem Büyüklüğü
Logo

Burada, gazete ve dergilerde yayınlanan çalışmalarımın tamamı çalışmakta olduğum kurumdan bağımsız olarak özel hayatımda yaptığım çalışmalardır. Dolayısıyla, burada yer alan çalışmalardan emeğe saygı adına kaynak gösterilmesi suretiyle azami ölçüde herkes yararlanabilir.

Site Haritası

  • Ana Sayfa
  • Hakkında
  • Blog
  • İletişim

Linkler

  • winally.com

Bana Ulaşın

Bu sayfa, bazı temel bilgilerin ve bir iletişim formunun yer aldığı bir iletişim sayfasıdır. Suç teşkil edecek, yasadışı, tehditkar, rahatsız edici, hakaret ve küfür içeren, aşağılayıcı, küçük düşürücü, kaba, müstehcen, ahlaka aykırı, kişilik haklarına zarar verici ya da benzeri niteliklerde içeriklerden doğan her türlü mali, hukuki, cezai, idari sorumluluk içeriği gönderen Kişilere aittir.

  • Email: buluttevfik@gmail.com

© Copyright 2022 Tevfik Bulut