library(WDI)
library(tidyverse)
library(explore)
library(ggplot2)
library(dplyr)
R programlama dili ve Rstudio nedir?
R bir programlama dili ve çevre birimidir. İstatistiksel hesaplamalar, veri analizi, grafik çizme ve daha birçok veri bilimi işlemi için kullanılır. R, açık kaynaklı bir dildir ve geniş bir kullanıcı topluluğuna sahiptir.
“RStudio” ise R programlama dilini daha etkili bir şekilde kullanmanızı sağlayan bir entegre geliştirme ortamıdır (IDE). R kodunu yazmak, çalıştırmak, hata ayıklamak, paketler yönetmek ve görselleştirmeler oluşturmak için birçok araç sunar. RStudio, R kullanıcılarının verimliliğini artırmak için tasarlanmıştır.
R’de paketler, belirli işlevleri gerçekleştirmek için önceden yazılmış kodlar ve işlevler koleksiyonudur. R dilinde birçok paket bulunmaktadır ve bu paketler genellikle CRAN (Comprehensive R Archive Network) veya diğer paket depoları aracılığıyla dağıtılır.
Paketler, bir programlama dilindeki önemli bileşenlerdir çünkü şu avantajları sağlarlar:
Fonksiyonel Genişleme: Paketler, bir programlama dilinin temel işlevselliğini genişletir. Birçok temel işlevin yanı sıra, belirli bir alanda uzmanlaşmış işlevleri sağlar. Örneğin, R’deki ggplot2 paketi, veri görselleştirmesi için özel olarak tasarlanmış bir dizi grafik fonksiyonu içerir.
Topluluk Katkısı: Genellikle açık kaynaklı olan paketler, geniş bir kullanıcı tabanı tarafından geliştirilir ve bakımı yapılır. Bu, yeni özelliklerin eklenmesi, hataların düzeltilmesi ve güncellemelerin sağlanması için topluluk katılımını sağlar.
Verimlilik ve Hız: Paketler, belirli görevleri gerçekleştirmek için hazır işlevler içerir. Bu, programcıların tekrar tekrar aynı işlevleri yeniden yazmak zorunda kalmamasını sağlar ve kod yazma sürecini hızlandırır.
Standartlaştırma ve İyileştirme: Belirli bir alanda uzmanlaşmış paketler, o alan için kabul edilmiş standartları ve en iyi uygulamaları uygular. Bu, tutarlılık sağlar ve kaliteli kod geliştirmeye yardımcı olur.
R programlama dilinde paketlere erişmek ve kullanmak oldukça kolaydır.
1.Paket kurma : Bir paketi kullanabilmek için öncellikle onu bilgisayarımıza indirmemiz gerekir. Bu işlemi install.packages() fonksiyonuyla yapılır. Örnek install.packages(WDİ)
2.Paketi Yükleme Paketi indirdikten sonra library fonksiyonunu kullanarak R ortamıma yüklememiz gerekir.Örnek library(WDİ)
**(Açıklayın! Paketler nedir? Neden kullanılır? 5 Paket Örneği)
Tidyverse, R programlama dilinde veri analizi ve görselleştirme için bir paket koleksiyonudur.
Bu koleksiyon, bir dizi başka paketi içerir ve veri işleme süreçlerini daha kolay ve tutarlı hale getirmek için tasarlanmıştır.
Tidyverse, veri bilimi projelerinde sıkça kullanılan temel işlemleri gerçekleştirmek için güçlü ve tutarlı bir araç seti sunar.
Tidyverse koleksiyonu içindeki bazı önemli paketler şunlardır:
ggplot2: Veri görselleştirmesi için kullanılan güçlü bir paket. Estetik olarak çekici ve esnek grafikler oluşturmak için kullanılır.
dplyr: Veri manipülasyonu ve işleme için kullanılan bir paket. Veri çerçevelerindeki sütunları seçme, filtreleme, dönüştürme ve birleştirme gibi işlemleri kolaylaştırır.
tidyr: Veri temizleme ve dönüştürme için kullanılan bir paket. Geniş formatlı veriyi uzun formata veya tersine çevirme, eksik değerleri doldurma ve veri düzenleme işlemlerini kolaylaştırır.
readr: Veri okuma ve yazma işlemleri için kullanılan bir paket. CSV, Excel ve diğer formatlardaki dosyaları okumak ve veri çerçevelerine dönüştürmek için kullanılır.
ggplot2, R programlama dilinde veri görselleştirmesi için kullanılan güçlü bir pakettir. Özellikleri ve önemli noktaları şunlardır:
Değişken Grafik Oluşturma: ggplot2, değişkenler arasındaki ilişkileri görselleştirmek için kullanılır. Veri çerçevelerinden veri noktalarını, çizgileri veya barları çizmek için kullanılabilir.
Estetik Kontrol: Grafiklerin estetik özelliklerini (örneğin renk, boyut, şekil) belirleme konusunda esneklik sağlar. Bu, kullanıcıların grafiklerin görünümünü özelleştirmesine olanak tanır.
Katmanlı Grafik Oluşturma: ggplot2, grafiklerde katmanlar oluşturmayı sağlar. Bu, kullanıcıların aynı grafik üzerinde farklı veri türlerini veya katmanları bir araya getirmesine izin verir.
Uyumlu ve Okunabilir Kodlama Stili: ggplot2, basit ve tutarlı bir kodlama stili sunar. Bu, kullanıcıların kolayca anlaşılabilir ve bakımı yapılabilir kodlar yazmasına olanak tanır.
Geniş Veri Formatı Desteği: ggplot2, çeşitli veri formatlarını (örneğin veri çerçeveleri, matrisler) destekler. Bu, kullanıcıların farklı veri kaynaklarından gelen verileri kolayca görselleştirmesini sağlar.
Örnek 3 (readxl) readxl, R programlama dilinde Excel dosyalarını okumak için kullanılan bir pakettir. readxl paketi, Excel dosyalarını hızlı ve etkili bir şekilde R ortamına aktarmak için tasarlanmıştır. Özellikleri şunlardır:
Hızlı ve Verimli: readxl, Excel dosyalarını hızlı bir şekilde okur ve büyük dosyalarla bile iyi performans gösterir.
Kolay Kullanım: Basit ve kullanıcı dostu bir arayüze sahiptir. read_excel() fonksiyonu, Excel dosyalarını okumak için kullanılır ve kullanımı oldukça basittir.
Çeşitli Formatları Destekler: readxl, .xls ve .xlsx formatlarındaki Excel dosyalarını destekler.
Çeşitli Seçenekler: Dosyaları okurken satır başlıklarını belirlemek, belirli sayfaları okumak veya belirli sütunları atlamak gibi çeşitli seçenekler sunar.
Bağımsızlığı: readxl, Java veya .NET gibi dış bağımlılıklara ihtiyaç duymadan çalışır. Bu nedenle, platformlar arası taşınabilirliği artırır.
Örnek 4 (readr)
readr, R programlama dilinde veri okuma ve yazma işlemleri için kullanılan bir pakettir. Bu paket, çeşitli veri formatlarındaki dosyaları okumak ve R’de kullanılabilir veri yapılarına dönüştürmek için tasarlanmıştır. İşte readr paketinin önemli özellikleri:
Hızlı ve Verimli: readr, veri dosyalarını hızlı bir şekilde okumak ve veri çerçevelerine dönüştürmek için optimize edilmiştir. Bu, büyük veri setleriyle çalışırken performansın artmasını sağlar.
Basit Kullanım: Paket, sade bir arayüz sağlar ve veri dosyalarını okumak için kolay ve anlaşılır işlevler sunar. Bu, kullanıcıların veri okuma işlemlerini hızlı ve verimli bir şekilde gerçekleştirmesini sağlar.
Çeşitli Veri Formatları Desteği: readr, CSV, TSV ve diğer metin tabanlı dosya formatlarının yanı sıra Excel, SPSS ve SAS gibi popüler veri formatlarını da destekler.
Örnek 5(WDİ)
WDI paketi, Dünya Bankası’nın kapsamlı Dünya Kalkınma Göstergeleri (WDI) veri deposuna erişimi kolaylaştıran güçlü bir araçtır.
Önem:
Dünya Bankası’nın “World Development Indicators” (Dünya Kalkınma Göstergeleri) veri seti, küresel çapta kalkınma göstergelerini içeren kapsamlı bir veri kaynağıdır. Bu veri seti, bir ülkenin ekonomik, sosyal ve çevresel kalkınmasıyla ilgili birçok önemli göstergeyi içerir. “WDI” paketi, R programlama dilinde bu veri setini işlemek ve analiz etmek için özel olarak oluşturulmuştur. “WDI” paketinin önemi şunlardır:
Küresel Kalkınma Analizi: “WDI” paketi, Dünya Bankası’nın kalkınma göstergeleri veri setine erişim sağlar. Bu, araştırmacıların ve analistlerin küresel kalkınma eğilimlerini ve desenlerini analiz etmesine olanak tanır.
Karar Verme Süreçlerine Destek: Dünya Bankası veri seti, hükümetler, uluslararası kuruluşlar, sivil toplum kuruluşları ve özel sektör gibi paydaşların karar verme süreçlerine destek sağlar. Özellikle, kalkınma projeleri, politika oluşturma ve kaynak tahsisi gibi alanlarda veriye dayalı kararlar almak için kullanılabilir.
Araştırma ve Akademik Çalışmalar: “WDI” paketi, araştırmacılar ve akademisyenler için önemli bir veri kaynağıdır. Bu veri seti, ekonomik ve sosyal kalkınma ile ilgili çalışmaların yapılmasına olanak tanır ve akademik literatüre katkıda bulunur.
Temel Özellikleri:
Veri Keşfi: Paket, kullanıcılara Dünya Bankası’nın veri setindeki çeşitli göstergeleri keşfetme ve arama olanağı sunar. Bu, kullanıcıların ilgili veriye kolayca erişmesini sağlar.
Veri Temizleme ve Hazırlık: “WDI” paketi, Dünya Bankası veri setini R’de kullanıma uygun hale getirmek için işlevler sağlar. Bu, veri setindeki eksik değerleri doldurma, sütunları seçme veya filtreleme gibi işlemleri gerçekleştirmeyi kolaylaştırır.
Veri Analizi ve Görselleştirme: Paket, Dünya Bankası’nın kalkınma göstergeleri veri seti üzerinde analizler yapmak ve görselleştirmek için çeşitli işlevler sağlar. Bu, veri setindeki desenleri, eğilimleri ve ilişkileri keşfetmeyi kolaylaştırır.
Data <- WDI(country = "all", indicator = c('SL.UEM.TOTL.ZS', "SP.POP.TOTL"), start = 2000, end = 2022)
``
SL.UEM.TOTL.ZS işşızlık oranı SP.POP.TOTL nüfüs
describe_all(Data)
## # A tibble: 6 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 country chr 0 0 266 NA NA NA
## 2 iso2c chr 0 0 266 NA NA NA
## 3 iso3c chr 0 0 262 NA NA NA
## 4 year int 0 0 23 2000 2011 2022
## 5 SL.UEM.TOTL.ZS dbl 714 11.7 3923 0.1 7.87 37.3
## 6 SP.POP.TOTL dbl 23 0.4 6047 9609 285615032. 7950946801
ekstra_data <- WDI_data$country
data_extra <- left_join(Data, ekstra_data)
## Joining with `by = join_by(country, iso2c, iso3c)`
data_extra <- data_extra %>% filter(income != "Aggregates")
describe_all(data_extra)
## # A tibble: 12 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 country chr 0 0 215 NA NA NA
## 2 iso2c chr 0 0 215 NA NA NA
## 3 iso3c chr 0 0 215 NA NA NA
## 4 year int 0 0 23 2000 2011 2022
## 5 SL.UEM.TOTL.ZS dbl 691 14 2868 0.1 8.19 37.3
## 6 SP.POP.TOTL dbl 0 0 4942 9609 32268693. 1417173173
## 7 region chr 0 0 7 NA NA NA
## 8 capital chr 0 0 210 NA NA NA
## 9 longitude chr 0 0 210 NA NA NA
## 10 latitude chr 0 0 210 NA NA NA
## 11 income chr 0 0 5 NA NA NA
## 12 lending chr 0 0 4 NA NA NA
eksik_veriler <- data_extra[is.na(data_extra$SL.UEM.TOTL.ZS),]
kayip_degerler <- data_extra %>% group_by(country) %>%
summarise(kayip = sum(is.na(SL.UEM.TOTL.ZS)))
Data <- left_join(data_extra, kayip_degerler)
## Joining with `by = join_by(country)`
Data <- Data %>% filter (kayip < 1)
describe_all(Data)
## # A tibble: 13 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 country chr 0 0 184 NA NA NA
## 2 iso2c chr 0 0 184 NA NA NA
## 3 iso3c chr 0 0 184 NA NA NA
## 4 year int 0 0 23 2000 2011 2022
## 5 SL.UEM.TOTL.ZS dbl 0 0 2861 0.1 8.18 37.3
## 6 SP.POP.TOTL dbl 0 0 4231 102603 37437790. 1417173173
## 7 region chr 0 0 7 NA NA NA
## 8 capital chr 0 0 180 NA NA NA
## 9 longitude chr 0 0 183 NA NA NA
## 10 latitude chr 0 0 183 NA NA NA
## 11 income chr 0 0 5 NA NA NA
## 12 lending chr 0 0 4 NA NA NA
## 13 kayip int 0 0 1 0 0 0
Data %>% describe_all()
## # A tibble: 13 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 country chr 0 0 184 NA NA NA
## 2 iso2c chr 0 0 184 NA NA NA
## 3 iso3c chr 0 0 184 NA NA NA
## 4 year int 0 0 23 2000 2011 2022
## 5 SL.UEM.TOTL.ZS dbl 0 0 2861 0.1 8.18 37.3
## 6 SP.POP.TOTL dbl 0 0 4231 102603 37437790. 1417173173
## 7 region chr 0 0 7 NA NA NA
## 8 capital chr 0 0 180 NA NA NA
## 9 longitude chr 0 0 183 NA NA NA
## 10 latitude chr 0 0 183 NA NA NA
## 11 income chr 0 0 5 NA NA NA
## 12 lending chr 0 0 4 NA NA NA
## 13 kayip int 0 0 1 0 0 0
data_turkiye <- Data %>% filter(iso2c == "TR")
ggplot(data_turkiye, aes(x=year, y=SL.UEM.TOTL.ZS))+
geom_line(colour = "Blue")+
labs(title = "2000-2022 tarihlerinde Türkiyede İşsızlık oranları", x="Yıl", y="İşsızlık oranı")+
scale_x_continuous(labels = scales::comma)
ggplot(data_turkiye, aes(x=year, y=SP.POP.TOTL))+
geom_line(colour = "Blue")+
labs(title = "2000-2022 tarihlerinde Türkiyenin nüfüs", x="Yıl", y="İşsızlık oranı")+
scale_y_continuous(labels = scales::comma)
data_2019 <- Data %>% filter(year==2019)
ggplot(data_2019, aes(x=SP.POP.TOTL, y=SL.UEM.TOTL.ZS, label=iso2c, colour=region)) +
geom_point(position = "jitter") +
geom_text()+
scale_x_continuous(labels = scales::comma)+
geom_vline(xintercept = 200000000, linetype = "solid")+
geom_hline(yintercept = 10, linetype = "solid", colour = "red")
Nüfüs artışının işsizliği değiştirip değiştirmiyeceğine bakmak istiyorum
ggplot(data_turkiye, aes(x=year))+
geom_line(aes(y=SL.UEM.TOTL.ZS), colour="red",size=1.5)+
geom_line(aes(y=SP.POP.TOTL/10000000),colour="blue")+
labs(title = "2000-2022 yıllar arasında İşsizlik Oranı ve Nüfusun Zaman İçindeki Değişimi",y="İşsıklık oranı ")+
scale_y_continuous(sec.axis = sec_axis(~.*1000000, name = "Nufus (on Milyon)"),labels = scales::comma)+
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Grafiğe bakarak nüfüsün işsızlığı artırıp artırmadığı
söylenemez.Grafikte bazen nüfüs artarken işssizlik azalırken bazende
artıyor
Ancak İşsızlık oranlarını etkileyen faktörler arasına nüfüs yapısı,Eğitim seviyesi,Teknolojik değişim etkileyebilir.Ben işsızlık oranları ve İnsanı sermaye arasında ilişkı olup olmadığını grafikte görmek istiyorum