1. Giriş

R, veri analizi ve görselleştirme için popüler bir programlama dili ve çevreleyicisidir. R, açık kaynaklı bir dil olmasıyla birlikte geniş bir kullanıcı topluluğuna sahiptir ve sürekli olarak gelişmektedir. R’nin gücü, zengin bir paket ekosistemiyle gelir. Bu paketler, belirli görevler için önceden yazılmış fonksiyonlar ve araçlar içerir ve R kullanıcılarının veri analizi sürecini hızlandırır.

R paketlerinin kullanımı, veri analizi ve işleme süreçlerini büyük ölçüde kolaylaştırır. Bu paketler, önceden tanımlanmış işlevleri ve fonksiyonları içerir, böylece kullanıcılar veriye hızlıca erişebilir ve çeşitli analizler gerçekleştirebilir. Ayrıca, R paketleri, görselleştirme araçlarıyla birleştirildiğinde, veriye dair önemli bilgilerin görsel olarak temsil edilmesini sağlar. Bu, karmaşık veri kümelerini daha anlaşılır hale getirir ve analiz sonuçlarını paylaşmayı kolaylaştırır.

Bu projede, R ve belirli R paketleri kullanılarak Dünya Bankası verileri üzerinde analiz ve görselleştirme gerçekleştirilecektir. Kullanılan paketler arasında WDI, EXPLORE, ggplot2, tidyverse veya dplyr, ve magrittr bulunmaktadır. Her biri, veri çekme, temizleme, analiz ve görselleştirme aşamalarında önemli roller üstlenir. Bu paketlerin bir araya gelmesi, veri analizi sürecini etkili bir şekilde yönetmemizi ve sonuçları anlamamızı sağlar.

2-R PAKETLERINI İÇE AKTARMA

# Gerekli kütüphaneleri yükleme
library(WDI)
library(explore)
library(ggplot2)
library(tidyverse) 
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)

Şimdi her bir paketi kısaca açıklayalım:

  1. WDI Paketi: İşlevsellik: WDI paketi, Dünya Bankası’nın Dünya Kalkınma Göstergeleri (WDI) veritabanından veri çekmek için kullanılır. Bu paket, ekonomik ve sosyal göstergeler gibi geniş bir veri yelpazesine erişim sağlar.

Kullanım Durumu: WDI paketi, farklı ülkelerin ekonomik ve sosyal göstergelerini analiz etmek için idealdir. Örneğin, milli gelir, nüfus, eğitim seviyeleri gibi çeşitli göstergeleri çekebilir ve karşılaştırabilirsiniz.

  1. EXPLORE Paketi: İşlevsellik: EXPLORE paketi, veri setlerini keşfetmek ve özet istatistikler elde etmek için kullanılır. Bu paket, veri setlerinin yapısını anlamak ve önemli özellikleri belirlemek için kullanılır.

Kullanım Durumu: EXPLORE paketi, veri seti üzerinde ilk keşiflerinizi yapmak için kullanışlıdır. Örneğin, veri setinizin dağılımını, temel istatistikleri, eksik değerleri ve diğer özellikleri hızlıca görselleştirebilirsiniz.

  1. Görselleştirme Paketi (ggplot2): İşlevsellik: ggplot2 paketi, verileri grafikler ve görsellerle görselleştirmek için kullanılır. Bu paket, güçlü bir grafik oluşturma aracıdır ve çeşitli grafik türlerini destekler.

Kullanım Durumu: ggplot2 paketi, verilerinizi çeşitli grafiklerle görsel olarak temsil etmek için kullanılır. Scatter plot, line plot, bar plot gibi farklı grafik türlerini oluşturabilir ve verilerinizin yapılarını daha iyi anlayabilirsiniz.

  1. Tidyverse Paketi: İşlevsellik: tidyverse, veri manipülasyonu ve dönüşümü için kapsamlı bir paket koleksiyonudur. Bu koleksiyon, veri analizi için modern ve tutarlı bir araç seti sağlar. dplyr, ggplot2, tidyr, purrr gibi paketler tidyverse’ın bir parçasıdır ve veri manipülasyonu, görselleştirme ve modelleme işlemlerini kolaylaştırır.

Kullanım Durumu: tidyverse paketi, veri setlerini temizlemek, dönüştürmek ve analiz etmek için kullanılır. dplyr paketi, veri setlerini filtrelemek, toplamak, dönüştürmek ve özetlemek için kullanılırken, ggplot2 paketi, verileri görsel olarak temsil etmek için kullanılır. tidyr paketi, veri setlerinin yapısal dönüşümlerini gerçekleştirirken, purrr paketi, tekrarlayan işlemleri gerçekleştirmek için kullanılır. tidyverse’ın birleştirilmiş gücü, veri analizi sürecini daha akıcı ve etkili hale getirir.

tidyverse paketi, özellikle veri bilimi ve analitiği alanında çalışanlar için vazgeçilmez bir araç setidir. Veri temizleme, dönüştürme, analiz ve görselleştirme işlemlerini tek bir kohorte içinde birleştirir ve R kullanıcılarına veri odaklı çalışmalarında büyük kolaylık sağlar.

Kullanım Durumu: Tidyverse veya Dplyr, veri setiniz üzerinde çeşitli manipülasyon işlemleri gerçekleştirmek için kullanılır. Veri filtreleme, sütun seçme, sütun ekleme gibi işlemleri kolayca yapabilirsiniz.

5- Dplyr, R programlama dilinde veri manipülasyonu için kullanılan bir pakettir. Veri çerçevelerinde sık kullanılan işlemleri (filtreleme, toplama, dönüştürme, birleştirme vb.) kolaylaştırmak için tasarlanmıştır. Dplyr, veri işleme işlemlerini kolay ve anlaşılır bir şekilde gerçekleştirmek için bir dizi fonksiyon sunar. Bu fonksiyonlar, veri manipülasyonunu hızlı ve verimli bir şekilde yapmamızı sağlar. Özellikle büyük veri kümeleriyle çalışırken performans avantajları sunar.

Kullanım Durumu: magrittr paketi, veri manipülasyon işlemlerini daha temiz ve anlaşılır bir şekilde yazmak için kullanılır. Zincirleme işlemler oluşturabilir ve R kodunuzu daha etkili bir şekilde yönetebilirsiniz.

3-Tarımsal Göstergelerin Uluslararası Karşılaştırılması:

Bu proje, Dünya Bankası verilerini kullanarak, seçilen ülkelerin tarımsal göstergelerini incelemeyi amaçlamaktadır. Veri analizi ve görselleştirme araçları kullanılarak, tarımsal arazi kullanımının ve tarımın ekonomideki önemine dair içgörüler elde edilecektir. Bu veriler, tarım sektörünün büyüklüğünü, değişkenliklerini ve uluslararası karşılaştırmalarını yapmak için kullanılacaktır.

# Dünya Bankası'ndan veri çekme
data <- WDI(country = c("USA", "CHN"), indicator = c("AG.LND.AGRI.ZS", "AG.LND.AGRI.K2"), start = 2000, end = 2020)


# Veri yapısını kontrol etme
str(data)
## 'data.frame':    42 obs. of  6 variables:
##  $ country       : chr  "China" "China" "China" "China" ...
##  $ iso2c         : chr  "CN" "CN" "CN" "CN" ...
##  $ iso3c         : chr  "CHN" "CHN" "CHN" "CHN" ...
##  $ year          : int  2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 ...
##  $ AG.LND.AGRI.ZS: num  55.7 55.8 55.8 55.9 55.9 ...
##   ..- attr(*, "label")= chr "Agricultural land (% of land area)"
##  $ AG.LND.AGRI.K2: num  5228730 5234668 5240607 5246545 5252484 ...
##   ..- attr(*, "label")= chr "Agricultural land (sq. km)"
# İlk birkaç gözlemi görüntüleme
head(data)
##   country iso2c iso3c year AG.LND.AGRI.ZS AG.LND.AGRI.K2
## 1   China    CN   CHN 2000       55.69458        5228730
## 2   China    CN   CHN 2001       55.75787        5234668
## 3   China    CN   CHN 2002       55.82113        5240607
## 4   China    CN   CHN 2003       55.88439        5246545
## 5   China    CN   CHN 2004       55.94764        5252484
## 6   China    CN   CHN 2005       56.01090        5258422
# Veri setinin boyutunu kontrol etme
dim(data)
## [1] 42  6
# Eksik değerleri kontrol etme
sum(is.na(data))
## [1] 0
# Veri setinin özet istatistiklerini görüntüleme
summary(data)
##    country             iso2c              iso3c                year     
##  Length:42          Length:42          Length:42          Min.   :2000  
##  Class :character   Class :character   Class :character   1st Qu.:2005  
##  Mode  :character   Mode  :character   Mode  :character   Median :2010  
##                                                           Mean   :2010  
##                                                           3rd Qu.:2015  
##                                                           Max.   :2020  
##  AG.LND.AGRI.ZS  AG.LND.AGRI.K2   
##  Min.   :44.06   Min.   :4030811  
##  1st Qu.:44.55   1st Qu.:4074805  
##  Median :50.38   Median :4678195  
##  Mean   :50.27   Mean   :4666675  
##  3rd Qu.:55.88   3rd Qu.:5246049  
##  Max.   :56.26   Max.   :5282176
# Görselleştirmeler
# 1. Tarımsal arazi kullanımının zaman içindeki değişimi (Zaman serisi grafiği)
plot(data$year, data$AG.LND.AGRI.ZS, type = "l", col = "blue", xlab = "Year", ylab = "Agricultural Land (% of Total Land Area)", main = "Zaman İçinde Tarım Arazisi Kullanımı")

# 2. ABD ve Çin'in tarımsal arazi kullanımının karşılaştırılması (Kutu grafiği)
boxplot(data$AG.LND.AGRI.ZS ~ data$country, data = data, col = c("red", "green"), xlab = "Country", ylab = "Agricultural Land (% of Total Land Area)", main = "ABD ve Çin Arasındaki Tarımsal Arazi Kullanımının Karşılaştırılması")

## 4- Veri Keşfi Özeti:

“explore” paketini kullanarak veri setimizi keşfettik. Başlıca değişkenlerimiz yıl ve tarımsal arazi kullanımı oranıydı. Veri setinde eksik veri bulunmadı. Tarımsal arazi kullanımının genel dağılımını inceledik ve zaman serisi grafiği ile zaman içindeki değişimini gözlemledik. Ayrıca, ABD ve Çin’in tarımsal arazi kullanımını karşılaştıran bir kutu grafiği oluşturduk.

Bu adımlar, veri setimizin genel yapısını ve temel özelliklerini anlamamıza yardımcı oldu ve ileriki analizler için önemli bir temel oluşturdu.

explore(data)
## Warning in explore_shiny(data, ...): This function can only be used in an
## interactive R session

5-Başlık: Tidyverse ile Veri İşleme ve Görselleştirme

Bu kod örneğinde, R programlama dilinde Tidyverse paketini kullanarak veri işleme ve görselleştirme sürecini gerçekleştirdik.

  1. Veri Setini Yükleme: mtcars dahili veri setini kullanarak başladık. Bu adımı, dışarıdan veri yüklemek yerine doğrudan R ortamında bulunan bir veri setini kullanarak gerçekleştirdik.

  2. Veri Setini Düzenleme ve Temizleme: Veri setini filtreleyerek ve ilgili sütunları seçerek veriyi temizledik ve analiz için uygun hale getirdik. Örneğin, güçlü arabaları filtreleyerek ve belirli sütunları seçerek bu adımı gerçekleştirdik.

  3. Veri Manipülasyonu: Düzenlenmiş veri setini manipüle ederek yeni sütunlar oluşturduk. Örneğin, mevcut sütunları kullanarak yeni bir hesaplama yaptık ve bu hesaplamanın sonucunu yeni bir sütuna atadık.

  4. Veri Görselleştirme: Görselleştirmek için ggplot2 paketini kullandık. Veri setimizi bir scatter plot ile görselleştirdik ve x ve y eksenlerine uygun etiketler ekledik.

Bu adımların tümü, Tidyverse paketlerini kullanarak veri işleme ve görselleştirme sürecini gerçekleştirmemizi sağladı. Bu şekilde, R’de veri analizi yapmak için güçlü ve etkili bir araç olan Tidyverse’in nasıl kullanılacağını gösterdik.

# Dahili mtcars veri setini kullanma
data <- mtcars

# Veri setini düzenleme ve temizleme (örnek)
cleaned_data <- data %>%
  filter(hp > 100) %>%  # Örneğin, güçlü arabaları filtreleme
  select(mpg, cyl, disp)  # İlgili sütunları seçme

# Veri manipülasyonu (örnek)
manipulated_data <- cleaned_data %>%
  mutate(new_column = mpg * cyl)  # Yeni bir sütun oluşturma (örneğin)

# Veri görselleştirme (örnek)
ggplot(manipulated_data, aes(x = mpg, y = cyl)) +
  geom_point() +
  labs(title = "Örnek Grafiği",
       x = "Miles per Gallon",
       y = "Number of Cylinders") +
  theme_minimal()

6- R İle Veri Analizi ve Görselleştirme: dplyr ve ggplot2 Kullanımı

dplyr ile Özet İstatistikler Hesaplama:

Veri analizi işlemlerimizde dplyr paketini kullandık. İlk olarak, mpg sütununun ortalamasını, medyanını, minimum ve maksimum değerlerini hesapladık. Bunun için summarize() fonksiyonunu kullandık ve bu istatistikleri bir veri çerçevesi olarak summary_stats adlı değişkende sakladık. Daha sonra bu istatistikleri yazdırdık.

# 'mpg' sütunu için özet istatistikleri hesapla
summary_stats <- data %>%
  summarize(mean_mpg = mean(mpg, na.rm = TRUE),
            median_mpg = median(mpg, na.rm = TRUE),
            min_mpg = min(mpg, na.rm = TRUE),
            max_mpg = max(mpg, na.rm = TRUE))

# Özet istatistikleri yazdır
print(summary_stats)
##   mean_mpg median_mpg min_mpg max_mpg
## 1 20.09062       19.2    10.4    33.9

ggplot2 ile Özet İstatistiklerin Görselleştirilmesi:

Ardından, ggplot2 paketini kullanarak bu özet istatistikleri için bir çubuk grafik oluşturduk. İlk olarak, bu istatistikleri içeren bir veri çerçevesi (summary_df) oluşturduk. Sonra, bu veri çerçevesini kullanarak ggplot() fonksiyonunu çağırarak çubuk grafik oluşturduk. Çubuk grafikte x ekseni için istatistik türlerini (stat) ve y ekseni için değerleri (value) kullandık. Görselleştirmeyi daha anlaşılır hale getirmek için uygun başlık ve eksen etiketlerini ekledik.

# Özet istatistikler için bir veri çerçevesi oluştur
summary_df <- data.frame(
  stat = c("Ortalama", "Medyan", "Minimum", "Maksimum"),
  value = c(summary_stats$mean_mpg, summary_stats$median_mpg, summary_stats$min_mpg, summary_stats$max_mpg)
)

# Bir çubuk grafik ile özet istatistikleri görselleştirme
ggplot(summary_df, aes(x = stat, y = value)) +
  geom_bar(stat = "identity", fill = "skyblue", width = 0.5) +
  labs(title = "mpg Sütununun Özet İstatistikleri",
       x = "İstatistik",
       y = "Değer") +
  theme_minimal()