R ve RStudio

  • Paketleri yükledim
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.

Paketler

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 neden önemlidir?

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.

Paketlere nasıl erişilir?

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)

Örnek 1(Tidyverse)

Tidyverse, R programlama dilinde veri analizi ve görselleştirme için bir paket koleksiyonudur.

  • Temel Özellikler:

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.

  • Önem:

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.

Örnek 2(ggplot2)

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:

  1. 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.

  2. 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.

  3. 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.

Wdi paketinden veri yükleme ve paketi analize hazırlama

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

Bireysel ülke seçme ve grafik Çizme

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)

Sene Seçimi

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 artişi ve işsizlik

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