VİZE PROJESİ

AWAB ADIL HASSAN ABDALLA

2024-04-14

PAKETLER

BRINCI KISIM : GIRIŞ

1. Tanım:

R’de bir paket, R’in temel işlevlerini genişleten R fonksiyonlarını, veri setlerini ve belgelerini içeren bir koleksiyondur. Kodu, veriyi ve belgelemeyi bir araya getirir ve R topluluğu tarafından kolayca paylaşılabilir ve yeniden kullanılabilir bir bütün olarak sunar. R’deki paketler genellikle .tar.gz uzantılı sıkıştırılmış dosyalar veya belirli işletim sistemleri için derlenmiş önceden derlenmiş ikili dosyalar olarak dağıtılır.

2. Neden Kullanıyoruz:

R’deki paketlerin birkaç önemli amacı vardır:

  • İşlevselliği Genişletme: Paketler, temel R’de bulunandan daha fazla fonksiyon ve araç sağlar. Bu fonksiyonlar, veri manipülasyonundan istatistiksel analize, görselleştirmeye ve makine öğrenmesine kadar geniş bir yelpazede görevleri kapsayabilir.

  • Verimlilik: Paketleri kullanmak, önceden yazılmış fonksiyonlar ve algoritmalar sağlayarak kodlama verimliliğini artırabilir. R kullanıcıları, tekerleği yeniden icat etmek yerine, analizlerini ve programlama görevlerini kolaylaştırmak için paket geliştiricilerinin çalışmalarını kullanabilirler.

  • Topluluk Katkısı: Paketler, R kullanıcılarının kodlarını paylaşmasına ve R ekosistemine katkıda bulunmasına olanak tanır. Bu işbirlikçi yaklaşım, inovasyonu teşvik eder ve R kullanıcılarının dünya çapında bilgi alışverişi yapmasını sağlar.

  • Standartlaştırma: Paketler, belirli alanlarda veya analiz alanlarında kodlama uygulamalarını standartlaştırmaya ve en iyi uygulamaları teşvik etmeye yardımcı olur. Genellikle alanla ilgili bilgi ve kuralları içerirler ve kullanıcıların bu alanlarda çalışmasını kolaylaştırırlar.

3. Önemi:

Paketler, R programlama dilinin temel bir parçasıdır ve birçok nedenden dolayı önemlidir:

  • Esneklik: Paketler, kullanıcıların ortamını özelleştirmelerini ve belirli ihtiyaçlarına uygun hale getirmelerini sağlar. Veri analizi, istatistik modelleme veya makine öğrenimi üzerinde çalışırken, hemen hemen her göreve destek sağlayan paketler mevcuttur.

  • Tekrarlanabilirlik: Kodu, veriyi ve belgelemeyi kapsayan paketler, tekrarlanabilir araştırma ve analizi teşvik eder. Diğer araştırmacılar, ilgili paketi yükleyerek ve yükleyerek sonuçları çoğaltabilir ve doğrulayabilirler.

  • Topluluk Desteği: R paketlerinin geniş ekosistemi, kullanıcılara birçok uzmanlık alanına ve kaynağa erişim sağlar. Yardım, belge veya örnekler arıyorsanız, kullanıcılar paketler ve ilgili forumlar aracılığıyla R topluluğunun birikimine ulaşabilirler.

  • Ölçeklenebilirlik: Projeler karmaşıklaştıkça, paketler modüler, yeniden kullanılabilir bileşenler sağlayarak ölçeklenebilirliği artırır. Kullanıcılar, varolan paketler üzerine inşa edebilir veya kendi paketlerini geliştirebilir, kod geliştirme ve bakımında modüler bir yaklaşımı desteklerler.

Özetlemek gerekirse, paketler R programlama dilinin temel bir parçasıdır ve işlevselliği genişletme, verimliliği artırma ve R topluluğu içinde işbirliğini teşvik etme gibi önemli roller üstlenirler. Çeşitli alanlarda ve disiplinlerde araştırma, analiz ve geliştirmeyi ilerletmek için kritik bir rol oynarlar.

Bu proje, İsviçre ve Hollanda gibi iki farklı ülkeyi karşılaştırarak, çeşitli ekonomik ve sosyal göstergeler üzerinde bir karşılaştırma yapmayı amaçlamaktadır. İsviçre ve Hollanda’nın seçilmesinin nedeni, her iki ülkenin de benzer ekonomik kalkınma seviyelerine sahip olmaları ve Avrupa’daki önemli aktörler olmalarıdır. Karşılaştırmada, gayri safi yurt içi hasıla (GSYİH), nüfus, yaşam beklentisi, okuryazarlık oranı ve CO2 emisyonları gibi çeşitli göstergeler ele alınacaktır. Bu analiz, İsviçre ve Hollanda’nın ekonomik büyüme, insan yaşamı kalitesi ve çevresel etkileri gibi önemli alanlardaki farklılıkları ve benzerlikleri anlamak için bir fırsat sunacaktır.

IKINCI KISIM : PROJE HAKKINDA

Bu proje, İsviçre ve Hollanda gibi iki farklı ülkeyi karşılaştırarak, çeşitli ekonomik ve sosyal göstergeler üzerinde bir karşılaştırma yapmayı amaçlamaktadır. İsviçre ve Hollanda’nın seçilmesinin nedeni, her iki ülkenin de benzer ekonomik kalkınma seviyelerine sahip olmaları ve Avrupa’daki önemli aktörler olmalarıdır. Karşılaştırmada, gayri safi yurt içi hasıla (GSYİH), nüfus, yaşam beklentisi, okuryazarlık oranı ve CO2 emisyonları gibi çeşitli göstergeler ele alınacaktır. Bu analiz, İsviçre ve Hollanda’nın ekonomik büyüme, insan yaşamı kalitesi ve çevresel etkileri gibi önemli alanlardaki farklılıkları ve benzerlikleri anlamak için bir fırsat sunacaktır.

ÜÇÜNCÜ KISIM : PROJE AKIŞI

1. ÇALIŞMA ALANININ DİZİNİNİ AYARLAMA

setwd("C:/Users/acer/Desktop/visa projects")

2. GEREKLİ KÜTÜPHANELERİ KURMASI

# Gerekli kütüphanelerin yüklenip yüklenmediğini kontrol edin, yoksa yükleyin
if (!require("WDI")) install.packages("WDI")
## Loading required package: WDI
## Warning: package 'WDI' was built under R version 4.3.3
if (!require("ggplot2")) install.packages("ggplot2")
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.3
if (!require("dplyr")) install.packages("dplyr")
## Loading required package: dplyr
## Warning: package 'dplyr' was built under R version 4.3.3
## 
## 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
if (!require("tidyr")) install.packages("tidyr")
## Loading required package: tidyr
## Warning: package 'tidyr' was built under R version 4.3.3
if (!require("stringr")) install.packages("stringr")
## Loading required package: stringr

LIBARARY HAKKINDA

  1. WDI: WDI kütüphanesi, Dünya Bankası’nın Dünya Kalkınma Göstergeleri veritabanına erişim sağlar. Bu kütüphane, çeşitli sosyoekonomik göstergeleri çekmek, işlemek ve görselleştirmek için kullanılır. Örneğin, GSYİH, nüfus, eğitim harcamaları gibi verileri çekmek için kullanılabilir.

  2. ggplot2: ggplot2 kütüphanesi, R’de güçlü ve esnek bir görselleştirme aracıdır. Veriye dayalı grafik oluşturmayı kolaylaştırır ve görselleştirmelerin özelleştirilmesine olanak tanır. Özellikle, çizgi grafikleri, nokta grafikleri, histogramlar, kutu grafikleri gibi çeşitli grafik türlerini oluşturmak için kullanılır.

  3. dplyr: dplyr kütüphanesi, veri çerçeveleri üzerinde veri işleme ve manipülasyon işlemleri için kullanılır. dplyr ile filtreleme, sıralama, toplama ve gruplama gibi işlemler kolayca gerçekleştirilebilir. Bu kütüphane, veri analizi ve veri temizleme işlemlerinde sıklıkla kullanılır.

  4. tidyr: tidyr kütüphanesi, veri çerçevelerini düzenlemek ve yeniden şekillendirmek için kullanılır. Özellikle, veri dökümü (data reshaping) işlemleri için yaygın olarak kullanılır. tidyr ile sütunları satırlara dönüştürmek veya tersi işlemleri gerçekleştirmek mümkündür.

  5. stringr: stringr kütüphanesi, metin dizeleri üzerinde işlemler yapmak için kullanılır. Metin dizelerini parçalama, birleştirme, arama ve değiştirme gibi işlemler stringr ile kolayca gerçekleştirilebilir. Bu kütüphane, metin verileri üzerinde çalışırken sıkça kullanılır.

Bu kütüphaneler, veri analizi ve görselleştirme süreçlerinde sıkça kullanılan işlevleri sağlayarak R programlamada büyük kolaylık sağlar.

Şimdi, çalışma ortamına tüm Libarary içe aktaralım :

library(WDI)
library(ggplot2)
library(dplyr)
library(tidyr)
library(stringr)

3. WDI PAKETİ KULLANARAK İSVİÇRE VE HOLLANDA VERİLERİ ÇIKARTMASI

İSVİÇRE İLE BAŞLAYALIM:

data_switzerland <- WDI(country = "CHE", indicator = c("NY.GDP.MKTP.CD", "SP.POP.TOTL"), start = 2010, end = 2020)

VERİ ÖZETİ :

summary(data_switzerland)
##    country             iso2c              iso3c                year     
##  Length:11          Length:11          Length:11          Min.   :2010  
##  Class :character   Class :character   Class :character   1st Qu.:2012  
##  Mode  :character   Mode  :character   Mode  :character   Median :2015  
##                                                           Mean   :2015  
##                                                           3rd Qu.:2018  
##                                                           Max.   :2020  
##  NY.GDP.MKTP.CD       SP.POP.TOTL     
##  Min.   :5.989e+11   Min.   :7824909  
##  1st Qu.:6.910e+11   1st Qu.:8043104  
##  Median :7.062e+11   Median :8282396  
##  Mean   :7.000e+11   Mean   :8258865  
##  3rd Qu.:7.235e+11   3rd Qu.:8483084  
##  Max.   :7.420e+11   Max.   :8638167

PLOT GDP VS. YEAR :

ggplot(data = data_switzerland, aes(x = year, y = NY.GDP.MKTP.CD)) +
  geom_line() +
  labs(title = "GDP Trend for Switzerland", x = "Year", y = "GDP (in current USD)")

PLOT POPULATION VS. YEAR:

ggplot(data = data_switzerland, aes(x = year, y = SP.POP.TOTL)) +
  geom_line() +
  labs(title = "Population Trend for Switzerland", x = "Year", y = "Population")

HOLLANDA VERİLERİ :

data_netherlands <- WDI(country = "NLD", indicator = c("NY.GDP.MKTP.CD", "SP.POP.TOTL"), start = 2010, end = 2020)


summary(data_netherlands)
##    country             iso2c              iso3c                year     
##  Length:11          Length:11          Length:11          Min.   :2010  
##  Class :character   Class :character   Class :character   1st Qu.:2012  
##  Mode  :character   Mode  :character   Mode  :character   Median :2015  
##                                                           Mean   :2015  
##                                                           3rd Qu.:2018  
##                                                           Max.   :2020  
##  NY.GDP.MKTP.CD       SP.POP.TOTL      
##  Min.   :7.656e+11   Min.   :16615394  
##  1st Qu.:8.364e+11   1st Qu.:16779697  
##  Median :8.772e+11   Median :16939923  
##  Mean   :8.617e+11   Mean   :16986582  
##  3rd Qu.:9.075e+11   3rd Qu.:17181460  
##  Max.   :9.140e+11   Max.   :17441500
ggplot(data = data_netherlands, aes(x = year, y = NY.GDP.MKTP.CD)) +
  geom_line() +
  labs(title = "GDP Trend for the Netherlands", x = "Year", y = "GDP (in current USD)")

ggplot(data = data_netherlands, aes(x = year, y = SP.POP.TOTL)) +
  geom_line() +
  labs(title = "Population Trend for the Netherlands", x = "Year", y = "Population")

4. DAHA FAZLA VERİ KEŞFETME MANİPÜLASYON VE GÖRSELLEŞTİRME YAPMAK :

  • GSYİH Büyüme Oranını Hesapla:
data_netherlands <- data_netherlands %>%
  mutate(GDP_growth_rate = (NY.GDP.MKTP.CD - lag(NY.GDP.MKTP.CD)) / lag(NY.GDP.MKTP.CD) * 100)


ggplot(data = data_netherlands, aes(x = year, y = GDP_growth_rate)) +
  geom_line() +
  labs(title = "GDP Growth Rate for the Netherlands", x = "Year", y = "GDP Growth Rate (%)")
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).

- Yıl Sütunundan Yılı Çıkart:

data_netherlands <- data_netherlands %>%
  mutate(year_extracted = str_extract(year, "[0-9]{4}"))

head(data_netherlands)
##       country iso2c iso3c year NY.GDP.MKTP.CD SP.POP.TOTL GDP_growth_rate
## 1 Netherlands    NL   NLD 2010   847380859017    16615394              NA
## 2 Netherlands    NL   NLD 2011   905270626333    16693074        6.831611
## 3 Netherlands    NL   NLD 2012   838923319920    16754962       -7.329002
## 4 Netherlands    NL   NLD 2013   877172824535    16804432        4.559356
## 5 Netherlands    NL   NLD 2014   892167986714    16865008        1.709488
## 6 Netherlands    NL   NLD 2015   765572770634    16939923      -14.189617
##   year_extracted
## 1           2010
## 2           2011
## 3           2012
## 4           2013
## 5           2014
## 6           2015
  • tidyr kullanarak year_extracted sütununu sayısal olarak dönüştürün:
data_netherlands <- data_netherlands %>%
  mutate(year_extracted = as.numeric(year_extracted))

head(data_netherlands)
##       country iso2c iso3c year NY.GDP.MKTP.CD SP.POP.TOTL GDP_growth_rate
## 1 Netherlands    NL   NLD 2010   847380859017    16615394              NA
## 2 Netherlands    NL   NLD 2011   905270626333    16693074        6.831611
## 3 Netherlands    NL   NLD 2012   838923319920    16754962       -7.329002
## 4 Netherlands    NL   NLD 2013   877172824535    16804432        4.559356
## 5 Netherlands    NL   NLD 2014   892167986714    16865008        1.709488
## 6 Netherlands    NL   NLD 2015   765572770634    16939923      -14.189617
##   year_extracted
## 1           2010
## 2           2011
## 3           2012
## 4           2013
## 5           2014
## 6           2015
  • GDP’yi Nüfusla Karşılaştırarak Saçılım Grafiği Çizin:
ggplot(data = data_netherlands, aes(x = NY.GDP.MKTP.CD, y = SP.POP.TOTL)) +
  geom_point() +
  
  labs(title = "GDP vs. Population for the Netherlands", x = "GDP (in current USD)", y = "Population")

ŞİMDİ AYNI İŞLEMİ İSVİÇRE İÇİN YAPIN :

data_switzerland <- data_switzerland %>%
  mutate(GDP_growth_rate = (NY.GDP.MKTP.CD - lag(NY.GDP.MKTP.CD)) / lag(NY.GDP.MKTP.CD) * 100)


print("First few rows of the data with GDP growth rate:")
## [1] "First few rows of the data with GDP growth rate:"
head(data_switzerland)
##       country iso2c iso3c year NY.GDP.MKTP.CD SP.POP.TOTL GDP_growth_rate
## 1 Switzerland    CH   CHE 2010   598851028907     7824909              NA
## 2 Switzerland    CH   CHE 2011   715888126682     7912398       19.543608
## 3 Switzerland    CH   CHE 2012   686420221558     7996861       -4.116272
## 4 Switzerland    CH   CHE 2013   706234937371     8089346        2.886674
## 5 Switzerland    CH   CHE 2014   726537808338     8188649        2.874804
## 6 Switzerland    CH   CHE 2015   694118186380     8282396       -4.462207
data_switzerland <- data_switzerland %>%
  mutate(year_extracted = str_extract(year, "[0-9]{4}"))


print("First few rows of the data with the new column:")
## [1] "First few rows of the data with the new column:"
head(data_switzerland)
##       country iso2c iso3c year NY.GDP.MKTP.CD SP.POP.TOTL GDP_growth_rate
## 1 Switzerland    CH   CHE 2010   598851028907     7824909              NA
## 2 Switzerland    CH   CHE 2011   715888126682     7912398       19.543608
## 3 Switzerland    CH   CHE 2012   686420221558     7996861       -4.116272
## 4 Switzerland    CH   CHE 2013   706234937371     8089346        2.886674
## 5 Switzerland    CH   CHE 2014   726537808338     8188649        2.874804
## 6 Switzerland    CH   CHE 2015   694118186380     8282396       -4.462207
##   year_extracted
## 1           2010
## 2           2011
## 3           2012
## 4           2013
## 5           2014
## 6           2015
print("Scatter plot of GDP vs. Population for Switzerland:")
## [1] "Scatter plot of GDP vs. Population for Switzerland:"
ggplot(data = data_switzerland, aes(x = NY.GDP.MKTP.CD, y = SP.POP.TOTL)) +
  geom_point() +
  labs(title = "GDP vs. Population for Switzerland", x = "GDP (in current USD)", y = "Population")

5. ŞİMDİ BİRKAÇ KARŞILAŞTIRMALI ANALİZ YAPALIM :

data_switzerland <- mutate(data_switzerland, GDP_growth_rate = (NY.GDP.MKTP.CD - lag(NY.GDP.MKTP.CD)) / lag(NY.GDP.MKTP.CD) * 100)
data_netherlands <- mutate(data_netherlands, GDP_growth_rate = (NY.GDP.MKTP.CD - lag(NY.GDP.MKTP.CD)) / lag(NY.GDP.MKTP.CD) * 100)

data_switzerland <- mutate(data_switzerland, population_growth_rate = (SP.POP.TOTL - lag(SP.POP.TOTL)) / lag(SP.POP.TOTL) * 100)
data_netherlands <- mutate(data_netherlands, population_growth_rate = (SP.POP.TOTL - lag(SP.POP.TOTL)) / lag(SP.POP.TOTL) * 100)


ggplot() +
  geom_line(data = data_switzerland, aes(x = year, y = GDP_growth_rate, color = "Switzerland"), linetype = "solid") +
  geom_line(data = data_netherlands, aes(x = year, y = GDP_growth_rate, color = "Netherlands"), linetype = "dashed") +
  labs(title = "Comparative GDP Growth Rates", x = "Year", y = "GDP Growth Rate (%)", color = "Country") +
  scale_color_manual(values = c("Switzerland" = "blue", "Netherlands" = "red")) +
  theme_minimal()
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).
## Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).

ggplot() +
  geom_line(data = data_switzerland, aes(x = year, y = population_growth_rate, color = "Switzerland"), linetype = "solid") +
  geom_line(data = data_netherlands, aes(x = year, y = population_growth_rate, color = "Netherlands"), linetype = "dashed") +
  labs(title = "Comparative Population Growth Rates", x = "Year", y = "Population Growth Rate (%)", color = "Country") +
  scale_color_manual(values = c("Switzerland" = "blue", "Netherlands" = "red")) +
  theme_minimal()
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).
## Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).