VİZE ÖDEVİ
R ve R Studyo nedir?
R: R, açık kaynaklı bir programlama dili ve çevre birimidir. İstatistiksel hesaplamalar yapmak, veri analizi yapmak, grafikler oluşturmak ve veri manipülasyonu gibi birçok istatistiksel ve matematiksel işlemi gerçekleştirmek için kullanılır. Araştırmacılar, veri bilimcileri, istatistikçiler ve analitik uzmanlar tarafından yaygın olarak kullanılmaktadır.
R Studio: R Studio, R programlama dili için entegre geliştirme ortamıdır (IDE). R Studio, R kodunu yazmak, çalıştırmak, hata ayıklamak, veri görselleştirmek ve projeleri yönetmek için kullanılır. R Studio, R dilindeki geliştirme sürecini daha verimli hale getirmek için bir dizi araç ve özellik sunar.
R STUDYODAKİ PAKETLER NEDİR?
R Studio’daki paketler, R dilinde farklı işlevlere sahip olan ve genellikle belirli bir konuda uzmanlaşmış olan ek fonksiyon ve araçların bir koleksiyonudur. Bu paketler, kullanıcıların belirli görevleri daha verimli bir şekilde gerçekleştirmesine olanak tanır.
R STUDYODAKİ PAKETLERİN ÖNEMİ?
R Studio’daki paketler, R dilinin işlevselliğini genişletir ve çeşitli analitik görevler için özelleştirilmiş araçlar sunar. Bu paketler, veri işleme, görselleştirme, makine öğrenimi ve daha fazlası için kullanıcıların işlerini daha verimli bir şekilde yapmalarını sağlar. Ayrıca, sürekli olarak güncellenen ve genişleyen bir topluluğun katkılarıyla yenilikçi ve esnek çözümler sunarlar.
R PAKETLERİNE NASIL ERİŞİLİR?
R paketlerine erişmek için şu adımları izleyebilirsiniz:
Paket Kurulumu: İlk olarak, R Studio’ya ihtiyacınız olacak. Ardından, istediğiniz paketi kurmak için install.packages(“paket_adi”) komutunu kullanabilirsiniz. Örneğin, “ggplot2” paketini kurmak için install.packages(“ggplot2”) komutunu kullanabilirsiniz.
Kütüphane Yükleme: Paketi kurduktan sonra, kullanmak istediğiniz her bir oturumda paketi yüklemeniz gerekecek. Bunun için, library(paket_adi) komutunu kullanarak paketi yükleyebilirsiniz. Örneğin, “ggplot2” paketini yüklemek için library(ggplot2) komutunu kullanabilirsiniz.
R PAKET ÖRNEKLERİ (5)
ÖRNEK 1 (gglot)
ggplot2’nin temel özellikleri şunlardır:
Katmanlar: ggplot2, grafikleri oluşturmak için katmanlar kullanır. Her bir katman, veri setinin görselleştirilmesi için gerekli bileşenleri içerir. Bu, grafiklerin kolayca özelleştirilebilmesini sağlar.
Estetik Haritalama: ggplot2, veri özelliklerini grafik estetikleriyle (renk, boyut, şekil vb.) eşleştirmek için estetik haritalama kullanır. Bu, veri setindeki farklı değişkenler arasındaki ilişkileri görselleştirmeyi kolaylaştırır.
Ölçekler ve Koordinatlar: ggplot2, grafiklerin ölçeklerini (örneğin, eksenlerin aralıkları) ve koordinat sistemlerini (örneğin, düzlem, polar koordinatlar) özelleştirmek için esnek bir yapı sağlar.
Temalar: ggplot2, grafiklerin görünümünü kontrol etmek için temaları kullanır. Temalar, grafiklerin renkleri, çizgi stilleri, arka planlar ve diğer görsel öğelerini ayarlamak için kullanılabilir.
örnek 2(dplyr)
dplyr paketinin bazı temel özellikleri şunlardır:
Veri Seti İşlemleri: dplyr, veri tablolarını (data frames) filtreleme, seçme, dönüştürme, özetleme ve birleştirme gibi işlemleri gerçekleştirmek için kullanılır. Bu işlemler, veri setinin alt kümesini seçmek veya dönüştürmek gibi genellikle tekrarlanan görevleri basitleştirir.
Piping (%>%) Operatörü: dplyr, veri işleme zincirlerini (data pipelines) oluşturmak için yaygın olarak kullanılan piping operatörünü destekler. Bu operatör, bir işlemin çıktısını bir sonraki işlemin girişi olarak kullanarak kodun daha okunabilir ve modüler olmasını sağlar.
Kolon (Sütun) İsimleriyle Çalışma: dplyr, kolonları kolon isimleriyle çağırarak veri tablolarında çalışmayı kolaylaştırır. Bu, kolon indeksleriyle uğraşmak yerine daha anlamlı isimler kullanarak kodun daha anlaşılır olmasını sağlar.
Gruplama ve Toplama: dplyr, veri tablolarını belirli bir değişken veya değişkenlerin gruplarına göre toplama (summarization) işlemleri gerçekleştirmek için kullanılır. Bu, veri setinin özelliklerini daha derinlemesine incelemek ve gruplar arasındaki farklılıkları anlamak için kullanışlıdır.
Veri Seti Birleştirme: dplyr, veri tablolarını birleştirme işlemleri için çeşitli fonksiyonlar sağlar. Bu, farklı kaynaklardan gelen veri setlerini birleştirmek veya ilişkili verileri bir araya getirmek için kullanılır.
örnek 3 (tidyr)
tidyr paketinin temel özellikleri şunlardır:
Veri Seti Yeniden Şekillendirme: tidyr, veri setlerini farklı formatlara dönüştürmek için kullanılır. Özellikle geniş formatlı veri setlerini dar formatlı veri setlerine dönüştürmek için kullanışlıdır. Bu, veri setlerinin analiz için daha uygun hale getirilmesini sağlar.
Bozuk Veri Düzeltme: tidyr, bozuk veri setlerindeki eksik değerleri, tekrar eden gözlemleri veya diğer yapısızlık sorunlarını ele almak için kullanılır. Bu, veri setlerinin daha temiz ve analiz edilebilir hale getirilmesine yardımcı olur.
Veri Seti Ayırma ve Birleştirme: tidyr, tek bir kolon içinde birden çok değeri içeren veri setlerini ayrıştırmak veya farklı kolonlarda bulunan değerleri birleştirmek için kullanılır. Bu, veri setlerinin yapısal olarak yeniden düzenlenmesini sağlar.
Veri Seti İndirgeme: tidyr, geniş formatlı veri setlerindeki tekrarlanan bilgileri indirgeyerek veri setlerini daha özlü hale getirmek için kullanılır. Bu, veri setlerinin daha az bellek kullanmasına ve analiz süreçlerinin hızlanmasına yardımcı olur.
örnek 4(stringr)
stringr paketinin bazı temel özellikleri şunlardır:
Metin Dizilerini Arama ve Değiştirme: stringr, metin dizilerinde belirli desenleri arama ve değiştirme işlemleri için kullanılır. Örneğin, belirli bir kelimeyi veya karakter dizisini metin içinde aramak veya değiştirmek için kullanılabilir.
Metin Dizilerini Ayıklama: stringr, metin dizilerinden belirli öğeleri ayıklama ve bunları yeni bir metin dizisi olarak döndürme işlemleri için kullanılır. Örneğin, bir metin dizisinden sayıları veya belirli bir desene uyan öğeleri ayıklamak için kullanılabilir.
Metin Dizilerini Bölme ve Birleştirme: stringr, metin dizilerini belirli bir desene göre bölme ve parçalama işlemleri için kullanılır. Ayrıca, farklı metin dizilerini birleştirme ve bir araya getirme işlemleri için de kullanılabilir.
Metin Dizilerini Biçimlendirme: stringr, metin dizilerini biçimlendirme ve düzenleme işlemleri için kullanılır. Örneğin, metin dizilerini büyük harfe veya küçük harfe dönüştürmek veya başka bir biçimlendirme işlemi uygulamak için kullanılabilir.
örnek 5 (WDİ)
WDI (World Development Indicators), Dünya Bankası tarafından sağlanan bir veri tabanıdır ve dünya çapındaki ekonomik, sosyal ve çevresel göstergeleri içerir. WDI’nın temel özellikleri şunlardır:
Geniş Kapsam: WDI, çeşitli ekonomik, sosyal ve çevresel göstergeleri kapsar. Bu göstergeler arasında milli gelir, işsizlik oranı, eğitim seviyeleri, sağlık göstergeleri, enerji tüketimi, çevre kirliliği ve daha birçok faktör bulunur.
Uzun Süreli Veri Setleri: WDI, birçok gösterge için uzun süreli veri setleri sağlar. Bu, kullanıcıların zaman içindeki trendleri analiz etmelerine ve uzun vadeli eğilimleri belirlemelerine olanak tanır.
Uluslararası Karşılaştırma: WDI, farklı ülkeler arasında karşılaştırmalar yapılmasını sağlar. Bu, kullanıcıların farklı ülkelerin ekonomik, sosyal ve çevresel performanslarını değerlendirmelerine ve karşılaştırmalar yapmalarına olanak tanır.
Kolay Erişim: WDI, genellikle çevrimiçi bir veritabanı olarak sunulur ve kolayca erişilebilir. Dünya Bankası’nın resmi web sitesi üzerinden erişilebilir ve çeşitli araçlarla verilere erişim sağlanabilir.
WDI’nın kullanımı oldukça basittir. Kullanıcılar, çevrimiçi veritabanına erişerek istedikleri göstergeleri ve ülkeleri seçebilirler. Ardından, seçilen göstergelerin zaman içindeki değişimini gösteren grafikler oluşturabilir, verileri indirebilir ve analiz edebilirler. Bu şekilde, WDI kullanıcıları dünya çapındaki ekonomik, sosyal ve çevresel trendleri anlamak ve analiz etmek için önemli bir kaynak elde ederler.
PAKET YÜKLEME
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.0 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── 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
Gerekli olan paketleri yükledim.
VERİYİ YÜKLEME VE İŞLEME
Data <- WDI(country = "all", indicator = c("SM.POP.NETM","SP.POP.TOTL","NY.GDP.MKTP.CD"),start = 2000,end = 2020)SM.POP.NETM (net göç alımı) SP.POP.TOTL (nufüs) NY.GDP.MKTP.CD (gsyh)
## # A tibble: 7 × 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 21 2000 2.01e 3 2.02e 3
## 5 SM.POP.NETM dbl 21 0.4 5141 -5955151 -7.79e 4 5.82e 6
## 6 SP.POP.TOTL dbl 21 0.4 5521 9609 2.82e 8 7.82e 9
## 7 NY.GDP.MKTP.CD dbl 211 3.8 5340 13964732. 2.00e12 8.78e13
## Joining with `by = join_by(country, iso2c, iso3c)`
## # 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 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 21 2000 2010 2.02e 3
## 5 SM.POP.NETM dbl 0 0 4156 -2290411 158. 1.48e 6
## 6 SP.POP.TOTL dbl 0 0 4512 9609 31892124. 1.41e 9
## 7 NY.GDP.MKTP.CD dbl 190 4.2 4326 13964732. 304478744887. 2.14e13
## 8 region chr 0 0 7 NA NA NA
## 9 capital chr 0 0 210 NA NA NA
## 10 longitude chr 0 0 210 NA NA NA
## 11 latitude chr 0 0 210 NA NA NA
## 12 income chr 0 0 5 NA NA NA
## 13 lending chr 0 0 4 NA NA NA
kayip_degerler <- data_extra %>% group_by(country) %>%
summarise(kayip = sum(is.na(NY.GDP.MKTP.CD)))## Joining with `by = join_by(country)`
## # A tibble: 14 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 country chr 0 0 193 NA NA NA
## 2 iso2c chr 0 0 193 NA NA NA
## 3 iso3c chr 0 0 193 NA NA NA
## 4 year int 0 0 21 2000 2010 2.02e 3
## 5 SM.POP.NETM dbl 0 0 3783 -2290411 1978. 1.48e 6
## 6 SP.POP.TOTL dbl 0 0 4051 9609 34833429. 1.41e 9
## 7 NY.GDP.MKTP.CD dbl 0 0 4053 13964732. 323643664482. 2.14e13
## 8 region chr 0 0 7 NA NA NA
## 9 capital chr 0 0 190 NA NA NA
## 10 longitude chr 0 0 193 NA NA NA
## 11 latitude chr 0 0 193 NA NA NA
## 12 income chr 0 0 4 NA NA NA
## 13 lending chr 0 0 4 NA NA NA
## 14 kayip int 0 0 1 0 0 0
Veriler analiz yapmaya hazır
Bireysel Ülke seçimi ve grafik çizimi
ggplot(amerika, aes(x=year,y=SM.POP.NETM))+
geom_line(colour="red")+
labs(title="2000-2020 ye kadar abd göç alımı")
#### sene seçimi
ggplot(Data_2015,aes(x=SP.POP.TOTL,y=SM.POP.NETM, label = iso2c,colour = region)) +
geom_point() +
geom_text()
veriler fazla olduğu için sadece fazla göç alan ülkeleri almak
istiyorum
ggplot(Data_2015_y,aes(x=SP.POP.TOTL,y=SM.POP.NETM, label = iso2c,colour = region)) +
geom_point() +
geom_text()dünya toplam üretimi bulma
world_data <- Data %>%
group_by(year) %>%
summarise(nufus = sum(SP.POP.TOTL),
uretim= sum(NY.GDP.MKTP.CD),
kisibasina = sum(uretim/nufus))ggplot(world_data, aes(x=year,y=uretim))+
geom_line()+
scale_y_continuous(labels = scales::comma)+
labs(title="2000-2020 Arasında dünya toplam üretimi")ggplot(world_data, aes(x=year,y=kisibasina, colour="red"))+
geom_line()+
scale_y_continuous(labels = scales::comma)+
labs(title = "2000-2022 kişi başı üretim",
x="Yil", y="kişi başına üretim") +
theme_classic()Ülkelerin Payları
Belirli bir ülkenin o sene için üretimdeki payı nedir?
Belirli bir ülkenin nüfüstaki payı nedir?
Ülkenin senelik veremi nedir?
Verim ile göç alımı arasında nasıl bir ilişki var
mutate
Data <- Data %>% mutate(ulkeninuretimorani = (NY.GDP.MKTP.CD )/uretim,
populyasyonorani = SP.POP.TOTL/nufus,
verim = ulkeninuretimorani/populyasyonorani)ggplot(Data[3907:3927 , ], aes(x=year,y=verim))+
geom_line()+
labs(title = "2000-2020 yılları arasında Abd'nin verim katsayısı")ggplot(Data[3907:3927 , ], aes(x=year,y=populyasyonorani))+
geom_line()+
labs(title = "2000-2020 yılları arasında Abd'nin dünyadakı populasyon oranı")ggplot(Data[3907:3927 , ], aes(x=year,y=ulkeninuretimorani))+
geom_line()+
labs(title = "2000-2020 yılları arasında Abd'nin dünyadakı üretim orani")Net göç alımı ve Verim
ggplot(Data_2000,aes(x=SM.POP.NETM,y=verim, label = iso2c,colour = region)) +
geom_point() +
geom_text()+
geom_hline(yintercept = 1)+
theme_classic()
Ülke sayısını azaltmak için Sadece avrupa ve merkezi asya kıtasına
bakmak istiyorum
ggplot(Data_2000_eu,aes(x=SM.POP.NETM,y=verim, label = iso2c,colour = region)) +
geom_point() +
geom_text()+
geom_hline(yintercept = 1)+
scale_x_continuous(labels = scales::comma)+
theme_classic()+
labs(title="Net göç alımı ve Verim arasındakı ilişkı",x="Net göç alımı", y="Verim")
Verimi 1 den düsük olan ülkelerde net göç alımı 0’e yakın hatta negatif
yani ülke vatandaşları farklı ülkelere göç etmiş. Ülkelerın Verimi ne
kadar büyükse ülkeleye giren net göç alımı o kadar artıyor. Verim
katsayısı ve Net goç alımı arasında pozitif bir ilişki var.
Kişi başına gelir ve Verim arasındakı ilişki
ggplot(Data_2000_eu,aes(x=NY.GDP.MKTP.CD/SP.POP.TOTL,y=verim, label = iso2c,colour = region)) +
geom_point() +
geom_text()+
geom_hline(yintercept = 1)+
scale_x_continuous(labels = scales::comma)+
theme_classic()+
labs(title="Kişi başına gelir ve Verim arasındakı ilişki",x="KBG", y="Verim")
Verimi 1 den büyük olan ülkeler Genellikle kişi başına geliri verim
arttikca artiyor. Verim kişi başına gelır arasında doğrusal bir ilişki
var.