Ekonomi 2 Vize
Vize Projesi
R ve R Studio
- İlk olarak r ve r studio programını yükledim.
- Arkaplanımı ve başlıklarımı kodlar yardımıyla oluşturdum.
- Paketler hakkındaki bilgiler için chatGPT’den yardım aldım.
Rmarkdawn Projesi Hazırlama
- 5 paket örneğini buldum ve açıkladım.
- Verilen indikatörlerden kendime konu ve ülke seçtim.
- Seçtiğim konu ve ülkeyle ilgili grafikleri yine aynı siteden bulup sitemi oluşturdum.
Paketler
- R programında “paketler” R dilinde işlevsellik ve özellikler eklemek için kullanılan birimlerdir. Bu paketler, R dilinde yazılmış olan ve belirli bir konuda işlevler, veri setleri veya analiz araçları sağlayan kod koleksiyonlarıdır.
R kullanıcıları, çeşitli analizler yapmak veya belirli görevleri
gerçekleştirmek için bu paketleri kullanabilirler. Örneğin, veri
manipülasyonu için dplyr paketi, grafik oluşturmak için
ggplot2 paketi veya makine öğrenimi için caret
paketi gibi paketler mevcuttur.
Paketler, R dilinin ana işlevselliğini genişletir ve kullanıcıların farklı alanlarda çalışma gereksinimlerine uyacak şekilde özelleştirilmiş işlevler sağlar. Paketler, R kullanıcı topluluğu tarafından oluşturulur ve yayınlanır ve genellikle CRAN (Comprehensive R Archive Network) veya GitHub gibi platformlarda bulunabilir.
Paketler Neden Önemlidir?
- R programında paketlerin önemi birkaç açıdan gelmektedir:
İşlevsellik Genişletme: R dili, temel işlevselliği sunar, ancak spesifik analizler, grafikler veya veri manipülasyonları için daha fazla işlevselliğe ihtiyaç duyulabilir. Paketler, bu işlevselliği genişleterek, kullanıcıların çeşitli alanlarda işlerini daha verimli bir şekilde yapmalarını sağlar.
Kod Paylaşımı ve İşbirliği: R paketleri, kodu paylaşma ve yeniden kullanma imkanı sunar. Bir paket oluşturulduğunda, diğer kullanıcılar da bu paketi indirip kullanabilirler. Bu, R topluluğunun bilgi ve kaynakları paylaşmasını sağlar, böylece başkalarının yazdığı kodları kullanarak işleri hızla gerçekleştirebilirsiniz.
Standardizasyon ve Kalite Kontrolü: İyi bir R paketi, genellikle belirli bir amaca yönelik belirli standartları takip eder ve kodun kalitesini artırır. CRAN gibi platformlar, paketlerin standartlarını korumak ve kalite kontrolünü sağlamak için belirli kılavuzlara ve süreçlere sahiptir.
Geliştirme Kolaylığı: Paketler, belirli bir proje veya analiz için gereken tüm kodu bir araya getirir. Bu, kodunuzu daha düzenli hale getirir, bakımını kolaylaştırır ve büyük projelerde çalışmayı yönetilebilir hale getirir.
Yenilik ve Gelişmelerin İzlenmesi: R topluluğu sürekli olarak yeni ve geliştirilmiş paketler oluşturur. Bu paketler, yeni yöntemlerin, algoritmaların veya tekniklerin uygulanmasına izin verir ve kullanıcıların alanlarındaki yenilikleri takip etmelerine yardımcı olur.
Bu nedenlerle, R programında paketler önemlidir ve R kullanıcılarının veri analizi, istatistik, grafikler oluşturma ve diğer veri bilimi işlerini gerçekleştirmeleri için vazgeçilmez araçlardır.
Paketler Neden Kullanılır?
- R programında paketler, çeşitli işlevleri yerine getirmek için hazırda bulunan kod gruplarıdır. R’de paketler, veri analizi, grafik çizimi, istatistiksel modellere erişim sağlama, veri manipülasyonu, veri görselleştirme ve daha birçok işlevi gerçekleştirmek için kullanılır. İşte R paketlerinin kullanımına dair bazı temel nedenler:
Özelleştirilmiş İşlevsellik: R’deki paketler, genellikle belirli bir amaca yönelik olarak geliştirilmiş işlevsellikler sunar. Örneğin,
ggplot2paketi, veri görselleştirmesi için güçlü araçlar sağlar;dplyrpaketi, veri manipülasyonu için kolay kullanımlı fonksiyonlar sunar. Bu paketler, kullanıcıların belirli işlevleri hızlı ve etkili bir şekilde gerçekleştirmesine olanak tanır.Veri Analizi ve İstatistiksel İşlemler: R paketleri, istatistiksel analizler ve veri bilimi için birçok araç sunar. Bu araçlar, veri keşfi, desen tanıma, hipotez testi, regresyon analizi gibi çeşitli istatistiksel işlemleri gerçekleştirmeye yöneliktir. Örneğin,
caretpaketi, makine öğrenimi modelleri için bir arayüz sağlar venlmepaketi, tekrarlanan ölçümler için doğrusal ve doğrusal olmayan karışık etkiler modeli analizi sunar.Gelişmiş Grafik Çizimi: R’deki grafik paketleri, verileri görselleştirmek için geniş olanaklar sunar. Çizgi grafikleri, dağılım grafikleri, kutu grafikleri, 3B grafikler ve daha fazlasını oluşturabilirsiniz. Bu, verilerinizi anlamak ve sunmak için etkili bir yol sağlar.
Topluluk Katkıları ve Paylaşım: R paketleri, genellikle açık kaynaklıdır ve R kullanıcıları tarafından geliştirilir ve paylaşılır. Bu, R kullanıcılarının birbirlerinin çalışmalarından yararlanmasını sağlar ve yeni yöntemlerin, araçların ve tekniklerin topluluk içinde hızla yayılmasına olanak tanır.
Proje Yönetimi ve Tekrarlanabilirlik: R paketleri, projelerinizin yönetimini kolaylaştırabilir ve kodunuzu daha tekrarlanabilir hale getirebilir. Paketler, kod parçalarını modüler hale getirerek, tekrar kullanılabilir ve paylaşılabilir hale getirir.
R paketleri, geniş bir işlevsellik yelpazesine sahiptir ve kullanıcıların çeşitli analizleri gerçekleştirmesini, verileri işlemesini ve sonuçları sunmasını sağlar. Bu nedenle, R kullanıcıları genellikle projelerinde paketlerden yararlanır ve ihtiyaçlarına uygun olanları seçer.
5 Paket Örneği
1.magrittr
magrittr, R programlama dilinde veri akışını yönetmek için kullanılan bir pakettir. Bu paket, veri manipülasyonu işlemlerini daha okunabilir ve esnek hale getirmek için “pipe” operatörü%>%ile birlikte kullanılır.
Bu paket, adını matematikçi ve mantıkçı Augustus De Morgan’ın adının
ters yazılışı olan “magrittr”dan alır. %>% operatörü, R
dilinde veri boru hattı (pipe) olarak adlandırılır ve işlemlerin
birbirine bağlanmasını ve sırayla uygulanmasını sağlar.
Örneğin, magrittr paketi kullanılarak dplyr
paketindeki işlevlerle birlikte veri manipülasyonu yapılabilir.
Bu kod, iris veri setindeki çiçeklerin sepal uzunluğu
5’ten büyük olanlarını seçer, ardından Species,
Sepal.Length ve Petal.Length sütunlarını seçer
ve son olarak ilk altı gözlemi görüntüler.
magrittr paketi, R kodunu daha okunabilir ve işlevsel
hale getirmek için çok kullanışlıdır. Veri manipülasyonu işlemlerini
sırayla ve açık bir şekilde belirtmek için %>% operatörü
kullanılarak birden çok işlev zinciri bir araya getirilebilir.
2.lubridate
lubridate, R programlama dilinde tarih ve zaman verileriyle çalışmayı kolaylaştıran bir pakettir. Bu paket, tarihleri oluşturmayı, manipüle etmeyi ve formatlamayı kolaylaştıran bir dizi fonksiyon içerir.
Tarih ve zaman verileri, birçok veri analizi projesinde önemli bir
rol oynar. lubridate paketi, tarih ve zaman verileriyle
çalışırken karşılaşılan yaygın sorunları ele almak için tasarlanmıştır.
Bazı temel işlevleri şunlardır:
Tarih ve zaman nesnelerini oluşturma:
ymd(),mdy(),dmy()gibi fonksiyonlarla tarih ve zaman nesneleri oluşturabilirsiniz.Tarih ve zaman nesnelerini manipüle etme:
year(),month(),day(),hour(),minute(),second()gibi fonksiyonlarla tarih ve zaman nesnelerinin bileşenlerine erişebilir ve bunları değiştirebilirsiniz.Tarih ve zaman aralıkları:
interval()ile tarih ve zaman aralıklarını temsil eden nesneler oluşturabilir ve aralıklar arasındaki farkları hesaplayabilirsiniz.Tarih ve zaman verilerini biçimlendirme:
format()ile tarih ve zaman nesnelerini istediğiniz biçime dönüştürebilirsiniz.
lubridate paketi, tarih ve zaman verileriyle çalışırken
sıkça karşılaşılan zorlukları azaltır ve R kullanıcılarına bu tür
verilerle daha etkili bir şekilde işlem yapma imkanı sağlar.
3.caret
caret (Classification And REgression Training), R
programlama dilinde sınıflandırma ve regresyon modellerinin eğitimi,
hiperparametre ayarlama ve model performansının değerlendirilmesi için
bir pakettir. Bu paket, farklı makine öğrenimi algoritmalarını
kullanarak çeşitli veri kümesi türlerinde modellerin eğitimini ve
değerlendirmesini kolaylaştırır.
caret paketi, R kullanıcılarına bir dizi avantaj
sunar:
Model Seçimi ve Hiperparametre Ayarlama:
caret, çeşitli makine öğrenimi algoritmaları arasında model seçimi ve hiperparametre ayarlama için bir arayüz sağlar. Bu, kullanıcıların belirli bir veri kümesi için en iyi performansı sağlayacak modeli seçmelerine ve hiperparametreleri ayarlamalarına olanak tanır.Model Eğitimi:
caret, çeşitli sınıflandırma ve regresyon algoritmalarını kullanarak modellerin eğitimini gerçekleştirmek için kullanılır. Örnek algoritmalar arasında destek vektör makineleri, karar ağaçları, rastgele ormanlar ve yapay sinir ağları bulunur.Model Performansının Değerlendirilmesi:
caret, eğitilen modellerin performansını değerlendirmek için bir dizi metrik ve çapraz doğrulama yöntemi sağlar. Bu, modellerin tahmin gücünü ve genelleme yeteneğini anlamak için kullanılır.Farklı Veri Türlerini İşleme:
caret, kategorik ve sayısal verileri, eksik değerleri ve aykırı gözlemleri işleme yeteneğiyle çeşitli veri tipleriyle çalışabilir.
caret paketi, R kullanıcılarının makine öğrenimi
modellerini daha etkili bir şekilde eğitmelerine ve değerlendirmelerine
olanak tanır. Bu nedenle, veri bilimi projelerinde sıklıkla kullanılan
bir araçtır.
4.leaflet
Leaflet, interaktif haritalar oluşturmak için kullanılan bir R paketidir. Leaflet, web tabanlı haritalama için güçlü bir araç seti sunar ve R kullanıcılarına interaktif ve dinamik haritalar oluşturma imkanı sağlar.
Leaflet’in önemi birkaç yönden gelir:
Verilerin Görselleştirilmesi: Leaflet, R kullanıcılarının coğrafi verileri etkileşimli haritalarla görselleştirmesine olanak tanır. Bu, coğrafi verilerin daha iyi anlaşılmasına ve keşfedilmesine yardımcı olur.
Kullanım Kolaylığı: Leaflet, basit ve anlaşılır bir API’ye sahiptir, bu da kullanıcıların hızlı ve kolay bir şekilde interaktif haritalar oluşturmasını sağlar. Haritalar üzerindeki öğelerin (noktalar, çizgiler, çokgenler vb.) özelleştirilmesi ve etkileşimli kontrollerin eklenmesi kolaydır.
Web Uygulamaları Geliştirme: Leaflet, web tabanlı uygulamalar geliştirmek için kullanılabilir. R kullanıcıları, Leaflet ile dinamik haritalar oluşturabilir ve bunları Shiny gibi web uygulama çerçeveleriyle entegre edebilirler.
Çeşitli Harita Veri Kaynaklarıyla Entegrasyon: Leaflet, çeşitli harita veri kaynaklarıyla (OpenStreetMap, Google Haritalar, Mapbox vb.) entegre olabilir. Bu, kullanıcıların ihtiyaçlarına göre farklı harita sağlayıcılarını seçmelerine olanak tanır.
Coğrafi Analizler ve Keşifler: Leaflet, coğrafi veriler üzerinde keşifler yapmak ve analizler gerçekleştirmek için kullanılabilir. Haritalar üzerindeki verilerin görsel olarak analiz edilmesi, coğrafi desenlerin keşfedilmesine yardımcı olabilir.
Sonuç olarak, Leaflet R kullanıcılarına coğrafi verileri etkileşimli ve etkileyici haritalarla görselleştirmeleri için güçlü bir araç sağlar. Bu da veri keşfi, analiz ve sunum süreçlerini geliştirir ve zengin coğrafi içgörüler elde etmelerine olanak tanır.
5.randomForest
randomForest, makine öğrenimi alanında sınıflandırma ve
regresyon problemlerini çözmek için kullanılan bir algoritmadır. Bu
algoritma, birçok karar ağacının bir araya gelerek oluşturduğu bir
topluluk (ensemble) yöntemi olan rastgele ormanlar (Random Forests)
yöntemini uygular.
Rastgele ormanlar, bir veri setindeki karmaşık ilişkileri ve yapıları keşfetmek için kullanılır. Temelinde birçok karar ağacı (decision tree) bulunur. Ancak, tek bir karar ağacı yerine birçok karar ağacı oluşturulur ve bu ağaçların tahminleri bir araya getirilerek ortalaması alınır. Bu şekilde, her bir karar ağacının tek başına yapabileceğinden daha iyi bir tahmin gücü elde edilir.
Rastgele ormanlar, birçok avantaja sahiptir:
Yüksek Doğruluk: Birden fazla karar ağacının bir araya gelmesi, genellikle tek bir karar ağacına göre daha yüksek bir doğruluk sağlar.
Overfitting’e Karşı Dirençli: Rastgele ormanlar, genellikle overfitting’e karşı daha dirençlidir. Her bir karar ağacı, farklı alt veri kümeleri üzerinde eğitilir ve bu nedenle genelleme yeteneği daha iyidir.
Değişken Önemi: Rastgele ormanlar, hangi özelliklerin modelin tahminlerinde daha belirleyici olduğunu belirlemek için değişken önemi ölçüsünü sağlar.
randomForest algoritması, sınıflandırma problemlerinde
sınıf etiketlerini tahmin etmek için ve regresyon problemlerinde sürekli
bir hedef değişkenini tahmin etmek için kullanılabilir. Rastgele
ormanlar, R programlama dilinde randomForest paketi
kullanılarak uygulanabilir. Bu paket, rastgele orman modeli oluşturmak,
modelin performansını değerlendirmek ve tahminler yapmak için
kullanılır.
Enflasyon,Tüketici Fiyatları(yıllık%)
## 'data.frame': 6384 obs. of 6 variables:
## $ country : chr "Afghanistan" "Afghanistan" "Afghanistan" "Afghanistan" ...
## $ iso2c : chr "AF" "AF" "AF" "AF" ...
## $ iso3c : chr "AFG" "AFG" "AFG" "AFG" ...
## $ year : int 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 ...
## $ FP.CPI.TOTL.ZG: num NA NA NA NA NA ...
## ..- attr(*, "label")= chr "Inflation, consumer prices (annual %)"
## $ SP.POP.TOTL : num 19542982 19688632 21000256 22645130 23553551 ...
## ..- attr(*, "label")= chr "Population, total"
## # 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 24 2000 2012. 2023
## 5 FP.CPI.TOTL.ZG dbl 1165 18.2 4612 -16.9 6.01 557.
## 6 SP.POP.TOTL dbl 289 4.5 6047 9609 285615032. 7950946801
## # 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 24 2000 2012. 2023
## 5 FP.CPI.TOTL.ZG dbl 1165 18.2 4612 -16.9 6.01 557.
## 6 SP.POP.TOTL dbl 289 4.5 6047 9609 285615032. 7950946801
## Joining with `by = join_by(country, iso2c, iso3c)`
## # 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 24 2000 2012. 2023
## 5 FP.CPI.TOTL.ZG dbl 1091 21.1 4070 -16.9 6.53 557.
## 6 SP.POP.TOTL dbl 215 4.2 4943 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
##
## Attaching package: 'scales'
## The following object is masked from 'package:purrr':
##
## discard
## The following object is masked from 'package:readr':
##
## col_factor
## [1] "country" "iso2c" "iso3c" "year"
## [5] "FP.CPI.TOTL.ZG" "SP.POP.TOTL" "region" "capital"
## [9] "longitude" "latitude" "income" "lending"
kaybolan_degerler <- toplamdf %>% group_by(country) %>%
summarise(kayip = sum(is.na(FP.CPI.TOTL.ZG)))## Joining with `by = join_by(country)`
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).
ggplot(dff_kesitveri, aes(x= SP.POP.TOTL, y=FP.CPI.TOTL.ZG)) +
geom_point(colour = "red") +
geom_text(label=dff_kesitveri$iso2c)## Warning: Removed 52 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Warning: Removed 52 rows containing missing values or values outside the scale range
## (`geom_text()`).