EKONOMETRI 2 VIZE PROJESI

Proje Tanımı: Dünya Bankası Verileri Üzerinden Ülke Karşılaştırmalı Analiz

Bu proje, Dünya Bankası Verileri (WDI) kullanılarak Almanya, Brezilya ve Etiyopya gibi ülkeler arasında karşılaştırmalı bir analiz yapmayı amaçlamaktadır. Projede kullanılacak temel göstergeler, yoksulluk, cinsiyet eşitliği ve çocuk ve aile refahıdır.

Projede Yapılacaklar

  1. Veri Toplama: İlk adımda, Dünya Bankası Verileri kullanılarak Almanya, Brezilya ve Etiyopya’dan ilgili göstergelere ilişkin veri toplanacaktır. Bu veriler, karşılaştırmalı analiz için temel oluşturacaktır.

  2. Veri Analizi ve Karşılaştırma: Toplanan veriler analiz edilecek ve Almanya, Brezilya ve Etiyopya arasında yoksulluk, cinsiyet eşitliği ve çocuk ve aile refahı alanlarında karşılaştırmalı analizler yapılacaktır. Bu analizler, her ülkenin performansını anlamak ve karşılaştırmak için kullanılacaktır.

  3. Farklı Veri Analiz Yöntemleri Uygulama: Karşılaştırmalı analizlerde farklı veri analizi yöntemleri kullanılacaktır. Örneğin, istatistiksel analizler, veri görselleştirmesi ve makine öğrenimi teknikleri kullanılabilir. Bu yöntemlerin kullanımı, farklı ülkelerin sosyo-ekonomik göstergeleri arasındaki ilişkileri anlamak için sağlanacaktır.

Beklenen Sonuçlar

Proje tamamlandığında, Almanya, Brezilya ve Etiyopya’nın yoksulluk, cinsiyet eşitliği ve çocuk ve aile refahı açısından performanslarını karşılaştıran kapsamlı bir analiz sunulacaktır. Bu analizler, her bir ülkenin güçlü ve zayıf yönlerini belirlemeye ve politika yapımına yönelik öneriler geliştirmeye yardımcı olacaktır.

R Paketleri: Analitik Gücünüzü Genişletin

R dilindeki paketler, çeşitli analizleri yapabilmeniz ve işlerinizi kolaylaştırmanız için oluşturulmuş yazılım paketleridir. R kullanıcıları, bu paketleri RStudio veya R’nin temel konsol ortamlarında yükleyip kullanabilirler.

1 - Kullanım Kolaylığı ve Çeşitlilik

Paketler, R’nin güçlü analitik yeteneklerini genişletebilir ve çeşitli veri analizi, görselleştirme ve istatistiksel işlemler için kullanılabilir. Birçok alanda uzmanlaşmış fonksiyonları içeren bu paketler, veri manipülasyonu, temizleme, istatistiksel modelleme, veri görselleştirme, zaman serisi analizi gibi birçok alanda kullanıma sahiptir.

2 - Önem ve Kullanım Alanları

R paketlerinin önemi, kullanıcılara karmaşık analizleri yapabilme yeteneği sağlamasıdır. Araştırmacılar, öğrenciler ve profesyoneller, paketler aracılığıyla veri manipülasyonu, görselleştirme, hipotez testi, regresyon analizi, zaman serisi analizi gibi çeşitli analitik işlemleri gerçekleştirebilirler.

3- Çeşitli Uygulama Alanları

R paketleri, istatistik, ekonomi, biyoloji, mühendislik ve daha birçok alanda kullanılmaktadır. Bu paketler, veri odaklı kararlar almak için güçlü bir kaynak sağlar ve analiz süreçlerini optimize eder.

# Gerekli Kütüphaneleri İçe Aktarın

# WDI: Dünya Bankası Verilerine erişmek için kullanılır
library(WDI)

# dplyr paketini yükle
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# plotly kütüphanesini yükle
library(plotly)
## Loading required package: ggplot2
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
# lubridate: Tarih ve saat verileriyle çalışmak için kullanılır, zaman serisi analizi için önemlidir
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
library(ggplot2)

# stringr: Metin verilerini işlemek için kullanılır, metin manipülasyonu için faydalıdır
library(stringr)

Bu kod parçası, projenizde kullanacağınız önemli R kütüphanelerini içe aktarır ve her birinin kısa açıklamasını içerir. Bu kütüphaneler, veri analizi işlemlerini kolaylaştırmak ve verimliliği artırmak için kullanılabilir.

# WDI paketini yükle
library(WDI)

# Veri çekme işlemi
veri <- WDI(country = c("DE", "BR", "ET"),   # Almanya, Brezilya ve Etiyopya ülkeleri
            indicator = c("SI.POV.DDAY", "SG.GEN.PARL.ZS", "SH.STA.BRTC.ZS"),   # Yoksulluk, cinsiyet eşitliği, çocuk ve aile refahı göstergeleri
            start = 2010, end = 2020)   # Zaman aralığı
print(veri)
##     country iso2c iso3c year SI.POV.DDAY SG.GEN.PARL.ZS SH.STA.BRTC.ZS
## 1    Brazil    BR   BRA 2010          NA       8.576998           98.9
## 2    Brazil    BR   BRA 2011         5.3       8.576998           99.0
## 3    Brazil    BR   BRA 2012         4.5       8.576998           99.0
## 4    Brazil    BR   BRA 2013         3.7       8.576998           98.0
## 5    Brazil    BR   BRA 2014         3.3       9.941520           98.4
## 6    Brazil    BR   BRA 2015         3.9       9.941520           98.2
## 7    Brazil    BR   BRA 2016         4.7       9.941520           98.6
## 8    Brazil    BR   BRA 2017         5.3      10.721248           98.7
## 9    Brazil    BR   BRA 2018         5.3      15.009747           98.8
## 10   Brazil    BR   BRA 2019         5.4      15.009747           99.1
## 11   Brazil    BR   BRA 2020         2.0      14.619883             NA
## 12 Ethiopia    ET   ETH 2010        30.8      27.787934             NA
## 13 Ethiopia    ET   ETH 2011          NA      27.787934           10.8
## 14 Ethiopia    ET   ETH 2012          NA      27.787934             NA
## 15 Ethiopia    ET   ETH 2013          NA      27.787934           23.1
## 16 Ethiopia    ET   ETH 2014          NA      27.787934           15.5
## 17 Ethiopia    ET   ETH 2015        27.0      38.756856             NA
## 18 Ethiopia    ET   ETH 2016          NA      38.756856           27.7
## 19 Ethiopia    ET   ETH 2017          NA      38.756856             NA
## 20 Ethiopia    ET   ETH 2018          NA      38.756856             NA
## 21 Ethiopia    ET   ETH 2019          NA      38.756856           49.8
## 22 Ethiopia    ET   ETH 2020          NA      38.756856             NA
## 23  Germany    DE   DEU 2010         0.0      32.797428           96.8
## 24  Germany    DE   DEU 2011         0.0      32.903226           96.9
## 25  Germany    DE   DEU 2012         0.0      32.903226           97.0
## 26  Germany    DE   DEU 2013         0.0      36.450079           96.9
## 27  Germany    DE   DEU 2014         0.0      36.450079           96.9
## 28  Germany    DE   DEU 2015         0.0      36.450079           97.1
## 29  Germany    DE   DEU 2016         0.0      36.450079           96.2
## 30  Germany    DE   DEU 2017         0.2      30.747532           97.1
## 31  Germany    DE   DEU 2018         0.0      30.747532           96.2
## 32  Germany    DE   DEU 2019         0.0      30.888575           96.2
## 33  Germany    DE   DEU 2020          NA      31.170663             NA

dplyr Paketi: Veri Manipülasyonu için Temel Bir Kütüphane

dplyr paketi, R’de veri manipülasyonunu kolaylaştıran bir kütüphanedir. Bu paket, veri çerçeveleri üzerinde filtreleme, sıralama, toplama ve dönüştürme gibi işlemleri gerçekleştirmek için kullanılır. dplyr, tidyverse kütüphanesinin önemli bir bileşenidir ve veri analizi süreçlerini optimize etmeye yardımcı olur.

Teorik Bilgi: dplyr paketi, veri manipülasyonu için bir dizi fonksiyon içerir. Özellikle, filter(), mutate(), summarise() gibi fonksiyonlar, veri çerçeveleri üzerinde farklı işlemleri gerçekleştirmek için kullanılır. filter() fonksiyonu, belirli bir koşula göre gözlemleri filtrelemek için kullanılırken, summarise() fonksiyonu, toplam ve özet istatistikler hesaplamak için kullanılır.

Kullanım Örneği: Projemizde, dplyr paketini kullanarak veri setimizi manipüle edebilir ve analiz edebiliriz. Örneğin, veri setimizi filtrelemek, yeni değişkenler oluşturmak veya toplamak için dplyr fonksiyonlarını kullanabiliriz.

# Veri setimizi filtrelemek için filter() fonksiyonunu kullanalım
filtreli_veri <- veri %>%
  filter(country == "Brazil")   # Sadece Brezilya verilerini filtrele

# Filtrelenmiş veriyi görüntüle
print(filtreli_veri)
##    country iso2c iso3c year SI.POV.DDAY SG.GEN.PARL.ZS SH.STA.BRTC.ZS
## 1   Brazil    BR   BRA 2010          NA       8.576998           98.9
## 2   Brazil    BR   BRA 2011         5.3       8.576998           99.0
## 3   Brazil    BR   BRA 2012         4.5       8.576998           99.0
## 4   Brazil    BR   BRA 2013         3.7       8.576998           98.0
## 5   Brazil    BR   BRA 2014         3.3       9.941520           98.4
## 6   Brazil    BR   BRA 2015         3.9       9.941520           98.2
## 7   Brazil    BR   BRA 2016         4.7       9.941520           98.6
## 8   Brazil    BR   BRA 2017         5.3      10.721248           98.7
## 9   Brazil    BR   BRA 2018         5.3      15.009747           98.8
## 10  Brazil    BR   BRA 2019         5.4      15.009747           99.1
## 11  Brazil    BR   BRA 2020         2.0      14.619883             NA
# Yeni bir değişken oluşturmak için mutate() fonksiyonunu kullanalım
mutate_veri <- veri %>%
  mutate(yeni_degisken = SI.POV.DDAY / 100)   # Yeni bir değişken oluştur ve hesapla

# Yeni oluşturulan değişkeni görüntüle
print(mutate_veri)
##     country iso2c iso3c year SI.POV.DDAY SG.GEN.PARL.ZS SH.STA.BRTC.ZS
## 1    Brazil    BR   BRA 2010          NA       8.576998           98.9
## 2    Brazil    BR   BRA 2011         5.3       8.576998           99.0
## 3    Brazil    BR   BRA 2012         4.5       8.576998           99.0
## 4    Brazil    BR   BRA 2013         3.7       8.576998           98.0
## 5    Brazil    BR   BRA 2014         3.3       9.941520           98.4
## 6    Brazil    BR   BRA 2015         3.9       9.941520           98.2
## 7    Brazil    BR   BRA 2016         4.7       9.941520           98.6
## 8    Brazil    BR   BRA 2017         5.3      10.721248           98.7
## 9    Brazil    BR   BRA 2018         5.3      15.009747           98.8
## 10   Brazil    BR   BRA 2019         5.4      15.009747           99.1
## 11   Brazil    BR   BRA 2020         2.0      14.619883             NA
## 12 Ethiopia    ET   ETH 2010        30.8      27.787934             NA
## 13 Ethiopia    ET   ETH 2011          NA      27.787934           10.8
## 14 Ethiopia    ET   ETH 2012          NA      27.787934             NA
## 15 Ethiopia    ET   ETH 2013          NA      27.787934           23.1
## 16 Ethiopia    ET   ETH 2014          NA      27.787934           15.5
## 17 Ethiopia    ET   ETH 2015        27.0      38.756856             NA
## 18 Ethiopia    ET   ETH 2016          NA      38.756856           27.7
## 19 Ethiopia    ET   ETH 2017          NA      38.756856             NA
## 20 Ethiopia    ET   ETH 2018          NA      38.756856             NA
## 21 Ethiopia    ET   ETH 2019          NA      38.756856           49.8
## 22 Ethiopia    ET   ETH 2020          NA      38.756856             NA
## 23  Germany    DE   DEU 2010         0.0      32.797428           96.8
## 24  Germany    DE   DEU 2011         0.0      32.903226           96.9
## 25  Germany    DE   DEU 2012         0.0      32.903226           97.0
## 26  Germany    DE   DEU 2013         0.0      36.450079           96.9
## 27  Germany    DE   DEU 2014         0.0      36.450079           96.9
## 28  Germany    DE   DEU 2015         0.0      36.450079           97.1
## 29  Germany    DE   DEU 2016         0.0      36.450079           96.2
## 30  Germany    DE   DEU 2017         0.2      30.747532           97.1
## 31  Germany    DE   DEU 2018         0.0      30.747532           96.2
## 32  Germany    DE   DEU 2019         0.0      30.888575           96.2
## 33  Germany    DE   DEU 2020          NA      31.170663             NA
##    yeni_degisken
## 1             NA
## 2          0.053
## 3          0.045
## 4          0.037
## 5          0.033
## 6          0.039
## 7          0.047
## 8          0.053
## 9          0.053
## 10         0.054
## 11         0.020
## 12         0.308
## 13            NA
## 14            NA
## 15            NA
## 16            NA
## 17         0.270
## 18            NA
## 19            NA
## 20            NA
## 21            NA
## 22            NA
## 23         0.000
## 24         0.000
## 25         0.000
## 26         0.000
## 27         0.000
## 28         0.000
## 29         0.000
## 30         0.002
## 31         0.000
## 32         0.000
## 33            NA
# Toplam nüfusu hesaplamak için summarise() fonksiyonunu kullanalım
toplam_nufus <- veri %>%
  summarise(toplam_nufus = sum(SI.POV.DDAY, na.rm = TRUE))   # Toplam nüfusu hesapla

# Toplam nüfusu görüntüle
print(toplam_nufus)
##   toplam_nufus
## 1        101.4

Plotly Kütüphanesi: İnteraktif Grafik Oluşturma

Plotly, R programlama dilinde interaktif ve dinamik grafikler oluşturmak için kullanılan bir kütüphanedir. Bu kütüphane, çeşitli grafik türlerini (çizgi grafikleri, bar grafikleri, dağılım grafikleri vb.) oluşturmanıza olanak tanır ve bu grafikler üzerinde fareyle etkileşime geçebilme özelliğine sahiptir.

Plotly ile oluşturulan grafikler web tabanlıdır ve çevrimiçi olarak paylaşılabilir. Kullanıcılar, fareyle grafik üzerine gelerek veri noktalarının değerlerini görebilir, grafikleri yakınlaştırıp uzaklaştırabilir, grafikler arasında geçiş yapabilir ve daha birçok interaktif özellikten yararlanabilir.

Bu kütüphane, veri analizi ve keşif sürecinde önemli bir araçtır çünkü verileri görselleştirerek anlamak ve veri hikayelerini anlatmak için etkili bir yol sunar.

# Brezilya verilerini filtrele
filtreli_veri <- veri %>%
  filter(country == "Brazil")

# Veri Görselleştirme: Interaktif Çizgi Grafiği Oluşturma
# --- TEORİK BİLGİ ---
# plotly kütüphanesi, R'de interaktif ve dinamik grafikler oluşturmak için kullanılır. 
# Bu grafikler, kullanıcının fareyle üzerine gelerek detaylı bilgilere erişebileceği interaktif özelliklere sahiptir.
# -------------------
grafik <- plot_ly(data = filtreli_veri, x = ~year, y = ~SI.POV.DDAY, type = 'scatter', mode = 'lines',   # Çizgi grafiği oluştur
                  name = 'Yoksulluk Oranı', line = list(color = 'blue')) %>%
  layout(title = "Brezilya'daki Yoksulluk Oranının Zaman İçindeki Değişimi",   # Başlık
         xaxis = list(title = "Yıl"),   # X ekseni etiketi
         yaxis = list(title = "Yoksulluk Oranı"),   # Y ekseni etiketi
         hovermode = "closest")   # Etkileşim modunu ayarla

# Oluşturulan grafik nesnesini görüntüle
grafik
veri <- veri %>%
  mutate(date = make_date(year = year, month = 1, day = 1))
# Veri setinin yapısını incele
str(veri)
## 'data.frame':    33 obs. of  8 variables:
##  $ country       : chr  "Brazil" "Brazil" "Brazil" "Brazil" ...
##  $ iso2c         : chr  "BR" "BR" "BR" "BR" ...
##  $ iso3c         : chr  "BRA" "BRA" "BRA" "BRA" ...
##  $ year          : int  2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 ...
##  $ SI.POV.DDAY   : num  NA 5.3 4.5 3.7 3.3 3.9 4.7 5.3 5.3 5.4 ...
##   ..- attr(*, "label")= chr "Poverty headcount ratio at $2.15 a day (2017 PPP) (% of population)"
##  $ SG.GEN.PARL.ZS: num  8.58 8.58 8.58 8.58 9.94 ...
##   ..- attr(*, "label")= chr "Proportion of seats held by women in national parliaments (%)"
##  $ SH.STA.BRTC.ZS: num  98.9 99 99 98 98.4 98.2 98.6 98.7 98.8 99.1 ...
##   ..- attr(*, "label")= chr "Births attended by skilled health staff (% of total)"
##  $ date          : Date, format: "2010-01-01" "2011-01-01" ...
veri <- veri %>%
  mutate(date = as.Date(date, format = "%d-%m-%Y"))



# Güncellenmiş veri setinin yapısını incele
str(veri)
## 'data.frame':    33 obs. of  8 variables:
##  $ country       : chr  "Brazil" "Brazil" "Brazil" "Brazil" ...
##  $ iso2c         : chr  "BR" "BR" "BR" "BR" ...
##  $ iso3c         : chr  "BRA" "BRA" "BRA" "BRA" ...
##  $ year          : int  2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 ...
##  $ SI.POV.DDAY   : num  NA 5.3 4.5 3.7 3.3 3.9 4.7 5.3 5.3 5.4 ...
##   ..- attr(*, "label")= chr "Poverty headcount ratio at $2.15 a day (2017 PPP) (% of population)"
##  $ SG.GEN.PARL.ZS: num  8.58 8.58 8.58 8.58 9.94 ...
##   ..- attr(*, "label")= chr "Proportion of seats held by women in national parliaments (%)"
##  $ SH.STA.BRTC.ZS: num  98.9 99 99 98 98.4 98.2 98.6 98.7 98.8 99.1 ...
##   ..- attr(*, "label")= chr "Births attended by skilled health staff (% of total)"
##  $ date          : Date, format: "2010-01-01" "2011-01-01" ...

##ggplot2 Kütüphanesi:

Veri Görselleştirme ve Analiz için Güçlü Bir Araçggplot2, R programlama dilinde veri görselleştirme ve analizi için kullanılan güçlü bir kütüphanedir. Veri görselleştirmesini “katmanlar” yaklaşımıyla gerçekleştirir, yani grafiğinizi oluşturmak için veri, estetik özellikler ve geometrik nesneler gibi ayrı bileşenlerin birleştirilmesini sağlar. Temel İşlevler: Veri Katmanı: Veriyi temsil eden bir veri çerçevesi belirleyin. Estetik Katmanı: Veri özelliklerini (x, y konumları, renk, şekil vb.) grafiğin özelliklerine eşleyin. Geometrik Katman: Grafik türünü (nokta, çizgi, bar vb.) belirleyin. Fasetağlar: Grafikleri kategorilere veya alt gruplara göre bölünmüş alt grafiklere ayırın. Temalar: Grafik görünümünü özelleştirmek için farklı tema seçenekleri sunar. Kullanımı: Veri Hazırlığı: İlk adım, veri çerçevesinin hazırlanması ve uygun biçimde düzenlenmesidir. ggplot() Fonksiyonu: Temel grafik nesnesini oluşturun ve estetik özellikleri belirleyin. Geometrik Fonksiyonlar: geom_ öneki ile başlayan geometrik fonksiyonları kullanarak grafiğinizi oluşturun. Estetik Değişiklikler: Renk, şekil, boyut gibi estetik özellikleri ayarlayın. Fasetağlar: facet_wrap() veya facet_grid() gibi fonksiyonlarla grafikleri alt gruplara bölebilirsiniz. Temalar: Grafik görünümünü özelleştirmek için theme() fonksiyonunu kullanın. Örnek: Aşağıdaki kod, ggplot2 kütüphanesini kullanarak WDI paketinden alınan veriyi görselleştirmektedir.

library(ggplot2)
library(dplyr)
library(tidyr)



veri_long <- veri %>%
  pivot_longer(cols = starts_with("SI.") | starts_with("SG.") | starts_with("SH."),
               names_to = "indicator", values_to = "value") %>%
  filter(!is.na(value))  # Remove NA values


ggplot(veri_long, aes(x = year, y = value, color = country)) +
  geom_line() +
  facet_wrap(~indicator, scales = "free_y") +
  labs(x = "Year", y = "Value", color = "Country") +
  theme_minimal() +
  ggtitle("Comparative Analysis of Indicators Over Time")