ekonometri 2 proje ödevi

okul no`m :2010504040

R NEDİR , neiçin kullanlılır ?

“R”, istatistiksel hesaplamalar, veri analizi ve grafik oluşturma için kullanılan bir programlama dilidir. Aynı zamanda bir çevre (environment) ve bir yazılım paketlerinin bir koleksiyonudur. R, özellikle istatistiksel analizler, veri görselleştirme ve veri madenciliği gibi alanlarda popülerdir R’in temel özellikleri şunlardır: Vektör Tabanlı Dil: R, vektörler, matrisler, listeler ve veri çerçeveleri gibi veri yapıları üzerinde etkili bir şekilde çalışabilir. Grafik Oluşturma: R, basit çizimlerden karmaşık grafiklere kadar geniş bir grafik oluşturma kapasitesine sahiptir. ggplot2 gibi popüler paketlerle bu kapasite daha da artırılabilir. Paket Yönetimi: R, birçok istatistiksel ve grafiksel paketle birlikte gelir. CRAN (Comprehensive R Archive Network) gibi birçok paketin indirilebildiği bir depoya sahiptir. Çapraz Platform: R, Windows, macOS ve Linux gibi farklı işletim sistemlerinde çalışabilir Esneklik: R, geniş bir istatistiksel fonksiyon koleksiyonuna ve veri manipülasyon araçlarına sahiptir, bu da kullanıcıların kendi analizlerini özelleştirmelerine olanak tanır. R, özellikle akademik araştırmalarda, veri bilimi projelerinde ve istatistiksel analizlerde yaygın olarak kullanılmaktadır. R’ın açık kaynaklı olması ve büyük bir kullanıcı topluluğuna sahip olması, sürekli olarak yeni fonksiyonlar ve paketlerin geliştirilmesine olanak tanır

paket

R’da birçok işlevsellik, özellik ve algoritma özel amaçlı paketler aracılığıyla sağlanır.CRAN (Comprehensive R Archive Network) ve diğer kaynaklar üzerinden binlerce paket indirilebilir. İşte R’da popüler bazı paketler ve bu paketlerin sunduğu temel özelliklein değeridir.

paketin önemi

R’da paketler, dilin temel işlevselliğini genişletmek ve özelleştirmek için kullanılır. Paketlerin önemi birkaç ana nedenden kaynaklanmaktadır: Fonksiyonel Genişletme: R’ın temel dilinde bulunan fonksiyonların yanı sıra, paketler yeni ve özelleştirilmiş fonksiyonlar ekler. Bu, kullanıcıların daha spesifik ve karmaşık analizler yapabilmesini sağlar. Veri Görselleştirme ve Analiz: ggplot2 gibi paketler sayesinde R, yüksek kaliteli ve özelleştirilebilir grafikler oluşturabilir. Bu grafikler, veri analizinin ve sonuçların görsel olarak temsil edilmesinde kritik öneme sahiptir. Veri Manipülasyonu ve Temizleme: dplyr, tidyr gibi paketler, veri temizleme, dönüştürme ve manipülasyon işlemlerini kolaylaştırır. Bu, veri bilimi ve analiz projelerinde veri hazırlığı aşamasını hızlandırır ve basitleştirir. Özel Amaçlı Analiz ve Modelleme: Paketler, zaman serisi analizi, makine öğrenimi, doğrusal ve doğrusal olmayan modeller gibi özel analizler ve modellemeler için özel fonksiyonlar ve algoritmalar sağlar. Kod Tekrarını Azaltma: Paketler, tekrar tekrar kullanılan kod parçalarını ve işlemleri içerir. Bu, kodun yeniden kullanılabilirliğini artırır ve yazma süresini azaltır. Topluluk Katkısı: Açık kaynaklı bir doğaya sahip olan R paketleri, geniş bir kullanıcı topluluğu tarafından sürekli olarak geliştirilir ve güncellenir. Bu, kullanıcıların en son yöntemleri, teknikleri ve araçları kullanarak projelerini gerçekleştirmesini sağlar.

paket kurulumu ve etkinleştirme

R’da paketlere erişme ve yükleme yöntemleri:

CRAN (Comprehensive R Archive Network) Üzerinden Erişim: CRAN, R paketlerinin ana dağıtım noktasıdır. R’da bir paketi CRAN üzerinden erişmek ve yüklemek için şu adımları izleyebilirsiniz:

Paket Yükleme: install.packages() fonksiyonunu kullanarak bir paketi yükleyebilirsiniz.

install.packages(“ggplot2”) Paket Kullanımı: Paketi yükledikten sonra library() fonksiyonuyla yüklenen paketi kullanabilirsiniz.

library(ggplot2) GitHub Üzerinden Erişim: Bazı R paketleri, geliştirme aşamasında oldukları için CRAN’da bulunmayabilir. Bu tür paketlere GitHub üzerinden erişebilirsiniz: Paket Yükleme: devtools paketini kullanarak GitHub’dan bir paketi yükleyebilirsiniz.

install.packages(“devtools”) devtools::install_github(“kullanici_adi/paket_adi”) Paket Kullanımı: Paketi yükledikten sonra library() fonksiyonuyla yüklenen paketi kullanabilirsiniz.

library(paket_adi) Diğer Kaynaklar: Bazı özel amaçlı ve geniş kapsamlı R paketleri, CRAN veya GitHub dışında farklı kaynaklarda bulunabilir. Bu tür paketleri yüklemek için genellikle paketin belgelendirmesinde veya web sitesinde belirtilen özel yönergeleri takip etmelisiniz. Notlar: R paketlerini yüklerken internet bağlantınızın olması gerekmektedir. install.packages() fonksiyonunu kullanarak birden fazla paketi aynı anda yükleyebilirsiniz. Örneğin: install.packages(c(“ggplot2”, “dplyr”)) Bu yöntemler sayesinde R paketlerine erişebilir, yükleyebilir ve kullanabilirsiniz. Yükleme işlemi genellikle otomatik olarak yapılır ve gerekli bağımlılıklar da dahil edilir.

paket örnekleri

purrr

paketinde Bulunan Temel Fonksiyonlar: map(): Bir vektör, liste veya veri çerçevesi üzerinde belirtilen işlevi uygular ve sonuçları liste olarak döndürür.

library(purrr)

Örnek bir vektör numbers <- c(1, 2, 3, 4, 5)

Karekökünü al sqrt_numbers <- map(numbers, sqrt) print(sqrt_numbers) map2(): İki vektör veya liste üzerinde belirtilen işlevi uygular.

tidyverse

R için tasarlanmış bir koleksiyon (suite) paketlerdir ve veri bilimi ve veri analizi için kullanılan bir dizi araç ve paketi içerir. tidyverse, R’ın temel veri yapıları ve işlemleri üzerine inşa edilmiştir ve veri işleme, görselleştirme ve modelleme işlemlerini daha tutarlı ve etkili bir şekilde yapmayı amaçlar.

tidyverse Koleksiyonuna Dahil Olan Temel Paketler: ggplot2: Veri görselleştirme için kullanılan kapsamlı bir pakettir. Declarative grafik oluşturma dilini kullanarak yüksek kaliteli grafikler oluşturmanıza olanak tanır.

stringr

R’da dize işleme (string manipulation) için kullanılan bir pakettir. Bu paket, dize (string) manipülasyon işlemleri yapmayı kolaylaştıran bir dizi fonksiyon içerir. stringr paketi, R’ın temel dize işleme fonksiyonlarına ek olarak daha tutarlı ve kullanıcı dostu bir arayüz sunar.

stringr Paketinin Temel Fonksiyonları: Dize Araştırma ve Değiştirme: Belirli bir dize içinde alt dize arama ve değiştirme işlemleri için kullanılır.

“string” kelimesini “dize” olarak değiştirme new_text <- str_replace(text, “string”, “dize”) print(new_text) Dize Bölme ve Birleştirme: Bir dizeyi belirli bir ayıraçla bölme veya ayrı dize parçalarını birleştirme işlemleri için kullanılır.

Virgül ile ayrılmış dizeyi bölme parts <- str_split(text, “,”) print(parts) bir örenektir

markdown

Bu bir R Markdown örneğidir. Aşağıda bir R kodu örneği bulunmaktadır. summary(mtcars) markdown Dokümanın Derlenmesi**: R Markdown dosyasını derlemek için Knit butonuna tıklayabilirsiniz. Bu işlem, R kodunu çalıştırır,

vize ödevi

petrol tüketimi ile nüfüs arası ilişki

popilasyon : SP.POP.TOTL

kişi başına düşen petrol kullanımı kg : EG.USE.PCAP.KG.OE

library(WDI)
## Warning: package 'WDI' was built under R version 4.3.3
data1 <- WDI(country = "all", indicator = c("EG.USE.PCAP.KG.OE","SP.POP.TOTL"), start = 2005)
library(explore)
## Warning: package 'explore' was built under R version 4.3.3
describe_all(data1)
## # 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       19 2005         2014        2023 
## 5 EG.USE.PCAP.KG.OE dbl    3069   60.7   1949    9.58      2389.      19988.
## 6 SP.POP.TOTL       dbl     284    5.6   4733 9912    294726238. 7950946801

ek veri kulllanımı ve birleştirmesi

ek veri

ek_veri <- WDI_data$country
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.3
## Warning: package 'ggplot2' was built under R version 4.3.3
## Warning: package 'tibble' was built under R version 4.3.3
## Warning: package 'tidyr' was built under R version 4.3.3
## Warning: package 'readr' was built under R version 4.3.3
## Warning: package 'purrr' was built under R version 4.3.3
## Warning: package 'dplyr' was built under R version 4.3.3
## Warning: package 'forcats' was built under R version 4.3.3
## Warning: package 'lubridate' was built under R version 4.3.3
## ── 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

veri setlerini birleştirme

data_ekk <- left_join(data1,ek_veri)
## Joining with `by = join_by(country, iso2c, iso3c)`
data_ekk <- data_ekk %>% filter(income != "Aggregates")
data_ekk %>% describe_all()
## # 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       19 2005        2014        2023 
##  5 EG.USE.PCAP.KG.OE dbl    2574   63     1512    9.58     2547.      19988.
##  6 SP.POP.TOTL       dbl     215    5.3   3869 9912    33228930. 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
kayip_deger <- data_ekk %>% group_by(country) %>% summarise(kayip_deger = sum(is.na(EG.USE.PCAP.KG.OE)))

veriden işimize yaramayan NA ların silinimi

data1 <- data1[complete.cases(data1),]
data1 <- data1[!is.na(data1$SP.POP.TOTL),]
data1 <- data1[!is.na(data1$EG.USE.PCAP.KG.OE),]
data_ekk <- data_ekk[!is.na(data_ekk$EG.USE.PCAP.KG.OE),]
describe_all(data1)
## # 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    219    NA           NA          NA 
## 2 iso2c             chr       0      0    219    NA           NA          NA 
## 3 iso3c             chr       0      0    217    NA           NA          NA 
## 4 year              int       0      0     11  2005         2009.       2015 
## 5 EG.USE.PCAP.KG.OE dbl       0      0   1948     9.58      2389.      19988.
## 6 SP.POP.TOTL       dbl       0      0   1965 29155    372022472. 7317040295

kayıp veri tesbiti

eksik_deger <- data_ekk[is.na(data_ekk$EG.USE.PCAP.KG.OE),]
kayip_deger <- data_ekk %>% group_by(country) %>% summarise(kayip= sum(is.na(EG.USE.PCAP.KG.OE)))
data1 <- left_join(data_ekk,kayip_deger)
## Joining with `by = join_by(country)`

ülke seçimi ve grafikler

meksika yı seçtik

data_mexico <- data1 %>% filter(iso2c == "MX")
library(ggplot2)
ggplot(data_mexico, aes(x= year, y=EG.USE.PCAP.KG.OE)) + geom_area(color = "black")

türkiye yi seçtik

data_turkiye <- data1 %>% filter(iso2c == "TR")
library(ggplot2)
ggplot(data_turkiye, aes(x= year, y=EG.USE.PCAP.KG.OE)) +geom_line(colour = "red")

türkiye nüfüsu ile petrol tüketimi doğru orantıldır
türkiye ennerjide dışa bağımlı bir ülkedir o yüzden en ufak krizlerde hemen etkilenir.

sene seçimi ve grafik olşurma

data_2014 <- data1 %>% filter(year == 2014)

veriyi daha iyi yorumlamak için kenarıdaki ülkelerin silinimi

data_2014_veINsiz <- data_2014 %>% filter(iso2c !="QA")
data_2014_veINsiz <- data_2014_veINsiz %>% filter(iso2c !="CN")
data_2014_veINsiz <-data_2014_veINsiz %>% filter(iso2c !="IN")
data_2014_veINsiz <-data_2014_veINsiz %>% filter(iso2c !="IS")
data_2014_veINsiz <-data_2014_veINsiz %>% filter(iso2c !="US")
ggplot(data_2014_veINsiz, aes(x= SP.POP.TOTL, y= EG.USE.PCAP.KG.OE, label = iso2c, colour= region ) ) + geom_point() + geom_text()

dünya toplam verisi

dunya_data <- data1 %>% group_by(year) %>% summarise(dunyatuketim = sum(EG.USE.PCAP.KG.OE), dunyanufus = sum(SP.POP.TOTL),kisibası = sum(dunyatuketim/dunyanufus))
ggplot(dunya_data, aes(x= year, y = dunyatuketim)) +geom_line()+ scale_y_continuous(labels = scales::comma)+ labs(title = "2005-2015 arası dünya üterim")

ggplot(dunya_data, aes(x= year, y = dunyanufus)) +geom_line(color = "blue")

verimde en son yıl 2015 olduğu için keskin keşilde bitmiştir

toplam üretim bulunması

  • ülkelerin payları nedir ?
  • senelik üretimleri nedir ?
  • verimliliği nedir ?

mutate kullanımı

data1 <- dataa %>% mutate(tuketim = EG.USE.PCAP.KG.OE)/dunyatuketim,
popilas = SP.POP.TOTL/dunyanufus, 
verim = tuketimm/popilas)