R studio Nedir?

istatistiksel hesaplamalar, veri analizi ve görselleştirme gibi birçok veri bilimi ve istatistiksel uygulama için kullanılan popüler bir programlama dili ve çevreleyicisidir. R Studio, R dilini kullanarak veri analizi ve modelleme yapmak isteyenler için gelişmiş bir araç sağlar.

R markdown Nedir ?

R programlama diliyle entegre edilmiş bir belge biçimidir. R Markdown belgeleri, metin, R kodu ve sonuçların (grafikler, tablolar, vb.) bir arada bulunduğu, dinamik ve çekici belgeler oluşturmanızı sağlar.

Paketler

R paketleri, R programlama dilinin temel işlevlerini genişletmek için tasarlanmış bir araç ve kaynaklar kümesidir. Bu paketler, işlevler, veri kümeleri ve diğer ek materyalleri bir araya getirir ve belirli bir amaca hizmet etmek üzere paketlenir. Her paket, belirli analitik veya hesaplama ihtiyaçlarını karşılamak için özel olarak tasarlanmış bir araç kutusu olarak hizmet eder. Bu paketler, çeşitli görevleri verimli ve etkili bir şekilde yerine getirmenizi sağlayarak R’nin makine tarafından kullanılan dişlileridir.

Paketler neden önemlidir?

İstatistiksel araştırma ve veri keşfi alanına adım attığınızda, paketleri anlamak ve kullanmak önemlidir. Paketler size bir dizi işlev sağlayarak, veri ediniminden temizliğine ve istatistiksel analizden görselleştirmeye kadar çeşitli görevleri yerine getirmenizi sağlar. Paketler kullanarak karmaşık işlemler için önceden yazılmış kod sağlayarak zaman ve çaba tasarrufu sağlar.

Paketlere nasıl erişilir?

R’de paketlere erişmek ve kullanmak basit bir işlemdir. Ana adımlar kurulum, yükleme ve kullanımdan oluşur. İşlem, bir kez yapılacak olan kurulum ile başlar.

Kurulduktan sonra, paket, işlevlerine ve veri kümelerine erişmek için R oturumunuza yüklenmelidir.

Yüklendikten sonra, paket tarafından sağlanan işlevleri kullanarak çeşitli görevleri yerine getirebilir ve analitik araç kutunuzu güçlendirebilirsiniz.

ÖDEV1 5 ÖRNEK PAKET

Dplyr paketi ne işe yarar ?

Bu paket, veri çerçeveleri ve veri tabloları üzerinde veri işleme ve dönüştürme işlemlerini kolaylaştırmak için geliştirilmiştir.

önemi

  • veri filtreleme
  • yeni değişken oluşturma
  • Veri gruplama ve toplama
  • veri birleştirme

Munsell paketi ne işe yarar ?

R programlama dilinde renk analizi ve yönetimi için kullanılan bir pakettir.Munsell renk sistemine dayalı renklerin oluşturulması, dönüştürülmesi ve analiz edilmesi için işlevler içerir.

önemi

  • Munsell renklerinin oluşturulması ve görselleştirilmesi.
  • RGB (Red, Green, Blue) veya XYZ (CIE 1931 renk uzayı) gibi diğer renk uzaylarına dönüştürme.
  • Renkler arasında dönüşüm yapma ve fark hesaplama.
  • Renk paletlerinin oluşturulması ve analiz edilmesi.
  • Renk sınıflandırma ve eşleştirme.

Knitr paketi ne işe yarar ?

R programlama dilinde literatür tabanlı programlama ve dinamik rapor oluşturma için kullanılan bir pakettir. Bu paket, R kodunu belirli bir belge türünde (genellikle HTML, PDF veya Word belgesi) çalıştırmanıza ve sonuçları doğrudan belgeye aktararak rapor oluşturmanıza yardımcı olur.

Önemi

  • Dinamik Rapor Oluşturma
  • Literatür Tabanlı Programlama
  • Çok Biçimli Çıktılar
  • Şablonlar ve Stiller

Tidyverse paketi ne işe yarar ?

R programlama dilinde veri analizi ve veri bilimi için bir dizi paket ve araçların bir araya getirildiği bir koleksiyondur. Bu paket, veri işleme, görselleştirme, modelleme ve raporlama gibi veri bilimi süreçlerini kolaylaştırmak için kullanılmaktadır.

Önemi

  • Tutarlılık ve Standartlaştırma
  • Basitlik ve Kolaylık
  • Gelişmiş Görselleştirme

Stringr paketi ne işe yarar?

R programlama dilinde metin işleme ve dize manipülasyonu için kullanılan bir pakettir. Bu paket, metin verilerini işlemek, dize desenlerini bulmak ve dönüştürmek için bir dizi işlev içerir.

Önemi

  • Dize İşleme İşlevleri
  • Tutarlı ve Basit Sözdizimi
  • Veri Temizleme ve Düzenleme
  • Tutarlı ve Basit Sözdizimi

Örnek1: DÜNYA BANKASI VERİ KATALOĞU (WDI) Forest Area Paketini inceleyelim.

Öncelikle Dünya Bankası Verilerini indirelim. Bunun için install.packages(“WDI”) kodunu kullanabiliriz.

Şimdi inceleyeceğimiz Forest Area (Orman Alanları) hakkında bilgiler edinelim.

Forest Area belirli bir coğrafi bölgedeki orman alanının miktarını ifade eder. Genellikle bir ülke, bölge veya dünya genelindeki ormanlık alanların toplam büyüklüğünü belirtmek için kullanılır. Orman alanı, ağaçlarla kaplı ve ağaçların egemen olduğu bir arazi parçasını tanımlar.

Önemi

Ormanlar, biyoçeşitliliği destekler, karbon emisyonlarını azaltır, toprak erozyonunu önler ve yaşam alanı ve kaynak sağlar. Dolayısıyla, orman alanlarının izlenmesi ve yönetilmesi, çevresel sürdürülebilirlik açısından kritik bir öneme sahiptir.

Paketin Kullanımı

Paketten Hangi Verileri Alabileceğimizi Araştırmak

  • Dünya Bankası Verilerinin bulunduğu internet sitesine girelim. https://data.worldbank.org/indicator .
  • Arama çubuğuna Forest Area yazalım ve çıkan göstergeye girelim. Burada verilerin ayrıntılarının çıkacağı internet sitesine yönlendirecektir.
  • Forest Area göstergesinin kodunu not edelim. Bu kod göstergenin linkinin bulunduğu arama çubuğundan bulabilirsiniz.
  • Kodumuz ” AG.LND.FRST.K2 ” dur. Bu kod Forest Area göstergesini temsil eder.
  • https://data.worldbank.org/indicator/AG.LND.FRST.K2?view=chart internet sitesi forest area göstergesinin verilerinin tamımını gösteren sitedir.
  • Forest Area göstergesine karşı nüfus yani population göstergelerini kullanacağız.
  • Population kodumuz “SP.POP.TOTL” dir. https://data.worldbank.org/indicator/SP.POP.TOTL linki population göstergelerini gösterecektir.

Verilerin datasını projemize eklemek

Bunun için öncelikle WDI paketini aktif edelim.

library(WDI)

Daha sonra WDI paketinden Forest Area ve Population göstergelerini çekip data_WDI adı altında projeye kayıt edelim.

fao_data <- WDI(country = "all", indicator = c("AG.LND.FRST.K2" , "SP.POP.TOTL"))

str kodunu kullanarak verimizin içindeki bilgileri öğrenelim.

str fonksiyonu, R programlama dilinde bir nesnenin yapısını görsel olarak incelemek için kullanılır. “str” kısaltması “structure” (yapı) kelimesinden gelir. Bu fonksiyon, bir nesnenin yapısını tanımlar ve bu nesnenin içinde bulunan bileşenlerin türlerini ve değerlerini gösterir.

str(fao_data)
## 'data.frame':    17024 obs. of  6 variables:
##  $ country       : chr  "Afghanistan" "Afghanistan" "Afghanistan" "Afghanistan" ...
##  $ iso2c         : chr  "AF" "AF" "AF" "AF" ...
##  $ iso3c         : chr  "AFG" "AFG" "AFG" "AFG" ...
##  $ year          : int  1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 ...
##  $ AG.LND.FRST.K2: num  NA NA NA NA NA NA NA NA NA NA ...
##   ..- attr(*, "label")= chr "Forest area (sq. km)"
##  $ SP.POP.TOTL   : num  8622466 8790140 8969047 9157465 9355514 ...
##   ..- attr(*, "label")= chr "Population, total"

explore paketini yükleme

“explore” paketi, R programlama dilinde veri analizi ve keşif işlemleri için kullanılan bir pakettir. Bu paket, veri setlerini daha iyi anlamak ve keşfetmek için çeşitli işlevler sağlar.

library(explore)

explore paketinin bir parçası olan ““describe_all()”” işlevi, bir veri kümesindeki tüm sütunlar (değişkenler) için açıklayıcı istatistikler üretmek için kullanılır. Bir veri kümesine uygulandığında, her sütun için ortalama, medyan, standart sapma, minimum, maksimum ve çeyreklik gibi istatistikleri hesaplar ve görüntüler.

describe_all(fao_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       64  1960      1992.       2023 
## 5 AG.LND.FRST.K2 dbl    8848   52     6616     0   1641501.   42034237.
## 6 SP.POP.TOTL    dbl     359    2.1  16460  2646 215973749. 7950946801

tidyverse paketi yükleme

Tidyverse, R programlama dilinde veri analizi ve veri görselleştirme için kullanılan bir paket koleksiyonudur. Tidyverse, veri analizi sürecini daha kolay ve etkili hale getirmeyi amaçlayan bir dizi R paketini bir araya getirir.

Tidyverse, temiz ve düzenli veri işleme ve analizi için özellikle güçlüdür. Paketin içindeki araçlar, veri manipülasyonu, görselleştirme, modelleme ve raporlama gibi çeşitli veri analizi görevlerini kolaylaştırmak için tasarlanmıştır.

library(tidyverse)

Pipe (%>%) Operatörünü kullanma

Pipe operatörü %>%, tidyverse paketinde yer alan magrittr paketi tarafından sağlanır ve veri işleme işlemlerini daha okunaklı hale getirmek için kullanılır. Bu operatör, işlemleri birbirine bağlamak ve veri akışını sağlamak için kullanılır.

Özellikle dplyr ve ggplot2 gibi tidyverse paketlerinde sıkça kullanılan bu operatör, kodunuzu adım adım okunabilir bir şekilde yazmanızı sağlar. Önceki işlem sonucunu bir sonraki işleme otomatik olarak ileten bir tür işlevsellik sağlar.

fao_data %>% describe_all()
## # 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       64  1960      1992.       2023 
## 5 AG.LND.FRST.K2 dbl    8848   52     6616     0   1641501.   42034237.
## 6 SP.POP.TOTL    dbl     359    2.1  16460  2646 215973749. 7950946801

Örneğin, bir World Development Indicators (WDI) veri setinde ‘country’ sütunu, veri setindeki her bir gözlemin hangi ülkeye ait olduğunu belirtir. Bu sütunu “ek_bilgi” adında yeni bir değişkene atamak, bu sütunu daha sonra analizde veya görselleştirmede kullanmak için uygun bir adım olabilir. Bu şekilde, bu bilgiyi daha kolay erişilebilir hale getirebilir ve işlem sürecinde kullanabilirsiniz.

df <- WDI_data
ek_bilgi <- df$country

Şimdi bu oluşturduğumuz “ek_bilgi” datasının WDI datasıyla birleştirelim ve oluşturacağımız yeni datanın adına ‘fao_ekbilgi’ adı verelim.

fao_ekbilgi <- left_join(fao_data , ek_bilgi)
## Joining with `by = join_by(country, iso2c, iso3c)`

DATA TEMİZLEME İŞLEMİ

fao_ekbilgi <- fao_ekbilgi %>% filter(income != "Aggregates")

“fao_ekbilgi” veri çerçevesi içinde “Aggregates” bölgesine sahip olan gözlemler kaldırılarak, bu filtreleme işlemi ile fao_ekbilgi veri çerçevesi içinde sadece “Aggregates” olmayan bölge gözlemleri kalır. Bu, genellikle analizde veya görselleştirmede, belirli bir kategoriye sahip gözlemleri çıkarmak için kullanılır.

Veriyi inceleyelim şimdi.

fao_ekbilgi %>% 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       64  1960     1992.       2023
##  5 AG.LND.FRST.K2 dbl    7161   52     5103     0   196672.    8153116
##  6 SP.POP.TOTL    dbl     245    1.8  13467  2646 24759535. 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

Şimdi kaç tane country(ülke) olduğuna bakalım.

unique(fao_ekbilgi$country)
##   [1] "Afghanistan"                    "Albania"                       
##   [3] "Algeria"                        "American Samoa"                
##   [5] "Andorra"                        "Angola"                        
##   [7] "Antigua and Barbuda"            "Argentina"                     
##   [9] "Armenia"                        "Aruba"                         
##  [11] "Australia"                      "Austria"                       
##  [13] "Azerbaijan"                     "Bahamas, The"                  
##  [15] "Bahrain"                        "Bangladesh"                    
##  [17] "Barbados"                       "Belarus"                       
##  [19] "Belgium"                        "Belize"                        
##  [21] "Benin"                          "Bermuda"                       
##  [23] "Bhutan"                         "Bolivia"                       
##  [25] "Bosnia and Herzegovina"         "Botswana"                      
##  [27] "Brazil"                         "British Virgin Islands"        
##  [29] "Brunei Darussalam"              "Bulgaria"                      
##  [31] "Burkina Faso"                   "Burundi"                       
##  [33] "Cabo Verde"                     "Cambodia"                      
##  [35] "Cameroon"                       "Canada"                        
##  [37] "Cayman Islands"                 "Central African Republic"      
##  [39] "Chad"                           "Channel Islands"               
##  [41] "Chile"                          "China"                         
##  [43] "Colombia"                       "Comoros"                       
##  [45] "Congo, Dem. Rep."               "Congo, Rep."                   
##  [47] "Costa Rica"                     "Cote d'Ivoire"                 
##  [49] "Croatia"                        "Cuba"                          
##  [51] "Curacao"                        "Cyprus"                        
##  [53] "Denmark"                        "Djibouti"                      
##  [55] "Dominica"                       "Dominican Republic"            
##  [57] "Ecuador"                        "Egypt, Arab Rep."              
##  [59] "El Salvador"                    "Equatorial Guinea"             
##  [61] "Eritrea"                        "Estonia"                       
##  [63] "Eswatini"                       "Ethiopia"                      
##  [65] "Faroe Islands"                  "Fiji"                          
##  [67] "Finland"                        "France"                        
##  [69] "French Polynesia"               "Gabon"                         
##  [71] "Gambia, The"                    "Georgia"                       
##  [73] "Germany"                        "Ghana"                         
##  [75] "Gibraltar"                      "Greece"                        
##  [77] "Greenland"                      "Grenada"                       
##  [79] "Guam"                           "Guatemala"                     
##  [81] "Guinea-Bissau"                  "Guinea"                        
##  [83] "Guyana"                         "Haiti"                         
##  [85] "Honduras"                       "Hong Kong SAR, China"          
##  [87] "Hungary"                        "Iceland"                       
##  [89] "India"                          "Indonesia"                     
##  [91] "Iran, Islamic Rep."             "Iraq"                          
##  [93] "Ireland"                        "Isle of Man"                   
##  [95] "Israel"                         "Italy"                         
##  [97] "Jamaica"                        "Japan"                         
##  [99] "Jordan"                         "Kazakhstan"                    
## [101] "Kenya"                          "Kiribati"                      
## [103] "Korea, Dem. People's Rep."      "Korea, Rep."                   
## [105] "Kosovo"                         "Kuwait"                        
## [107] "Kyrgyz Republic"                "Lao PDR"                       
## [109] "Latvia"                         "Lebanon"                       
## [111] "Lesotho"                        "Liberia"                       
## [113] "Libya"                          "Liechtenstein"                 
## [115] "Lithuania"                      "Luxembourg"                    
## [117] "Macao SAR, China"               "Madagascar"                    
## [119] "Malawi"                         "Malaysia"                      
## [121] "Maldives"                       "Mali"                          
## [123] "Malta"                          "Marshall Islands"              
## [125] "Mauritania"                     "Mauritius"                     
## [127] "Mexico"                         "Micronesia, Fed. Sts."         
## [129] "Moldova"                        "Monaco"                        
## [131] "Mongolia"                       "Montenegro"                    
## [133] "Morocco"                        "Mozambique"                    
## [135] "Myanmar"                        "Namibia"                       
## [137] "Nauru"                          "Nepal"                         
## [139] "Netherlands"                    "New Caledonia"                 
## [141] "New Zealand"                    "Nicaragua"                     
## [143] "Niger"                          "Nigeria"                       
## [145] "North Macedonia"                "Northern Mariana Islands"      
## [147] "Norway"                         "Oman"                          
## [149] "Pakistan"                       "Palau"                         
## [151] "Panama"                         "Papua New Guinea"              
## [153] "Paraguay"                       "Peru"                          
## [155] "Philippines"                    "Poland"                        
## [157] "Portugal"                       "Puerto Rico"                   
## [159] "Qatar"                          "Romania"                       
## [161] "Russian Federation"             "Rwanda"                        
## [163] "Samoa"                          "San Marino"                    
## [165] "Sao Tome and Principe"          "Saudi Arabia"                  
## [167] "Senegal"                        "Serbia"                        
## [169] "Seychelles"                     "Sierra Leone"                  
## [171] "Singapore"                      "Sint Maarten (Dutch part)"     
## [173] "Slovak Republic"                "Slovenia"                      
## [175] "Solomon Islands"                "Somalia"                       
## [177] "South Africa"                   "South Sudan"                   
## [179] "Spain"                          "Sri Lanka"                     
## [181] "St. Kitts and Nevis"            "St. Lucia"                     
## [183] "St. Martin (French part)"       "St. Vincent and the Grenadines"
## [185] "Sudan"                          "Suriname"                      
## [187] "Sweden"                         "Switzerland"                   
## [189] "Syrian Arab Republic"           "Tajikistan"                    
## [191] "Tanzania"                       "Thailand"                      
## [193] "Timor-Leste"                    "Togo"                          
## [195] "Tonga"                          "Trinidad and Tobago"           
## [197] "Tunisia"                        "Turkiye"                       
## [199] "Turkmenistan"                   "Turks and Caicos Islands"      
## [201] "Tuvalu"                         "Uganda"                        
## [203] "Ukraine"                        "United Arab Emirates"          
## [205] "United Kingdom"                 "United States"                 
## [207] "Uruguay"                        "Uzbekistan"                    
## [209] "Vanuatu"                        "Venezuela, RB"                 
## [211] "Virgin Islands (U.S.)"          "West Bank and Gaza"            
## [213] "Yemen, Rep."                    "Zambia"                        
## [215] "Zimbabwe"

Şimdi her bir ülkenin kaç tane eksik orman alanı verisi olduğunu bulalım.

eksik_veri <- fao_ekbilgi  %>%  
                       group_by(country)  %>% 
                       summarise(eksik_veri_sayisi  =  sum(is.na(AG.LND.FRST.K2)))

Eksik verilerin listesini yaptıktan sonra datamızda bu eksik verileri azaltmamız gerekiyor. Bunun için belirli bir zaman aralığı seçebiliriz. Biz burada 2000 yılından sonraki verileri ele alacağız.

df <- fao_ekbilgi  %>%
          filter(year >=2000)  

Daha sonra her bir ülkenin kaç tane eksik veri kaldığını görelim.

eksik_sayisi  <-  df  %>%  
                          group_by (country) %>%
                        summarise(sayi  =  sum(is.na(AG.LND.FRST.K2)))

Burada bu kod ile ülkelerin kaç tane eksik veri olduğunun listesini oluşturduk.

Şimdi bu eksik veri sayısını data verimizle birleştirelim.

df  <-  left_join(df ,  eksik_sayisi)
## Joining with `by = join_by(country)`

Görüldüğü üzere hala datamızda eksik verilerin çoğunluğu söz konusu. Bu eksik verileri azaltmanın bir diğer yöntemini kullanarak azaltalım.

df  <-  df %>% filter(sayi<4)

Bu kod ile eksik veri sayısında bir filtreleme yaptık. Sadece 4’ ten az olan eksik verileri aldık. Hala datamızda eksik verilerin bulunduğu gözüküyor. Aşağıdaki kodu kullanarak sadece 2020 yılı ve 2020’den sonraki yılları almış olacağız. Böylelikle datamızı daha temiz hale getirmiş olacağız.

df <- df %>% filter(year <=2020)

Datamızı kontrol edelim şimdi.

describe_all(df)
## # 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    206    NA       NA          NA
##  2 iso2c          chr       0      0    206    NA       NA          NA
##  3 iso3c          chr       0      0    206    NA       NA          NA
##  4 year           int       0      0     21  2000     2010        2020
##  5 AG.LND.FRST.K2 dbl       0      0   3327     0   197881.    8153116
##  6 SP.POP.TOTL    dbl       0      0   4324  9609 33156086. 1411100000
##  7 region         chr       0      0      7    NA       NA          NA
##  8 capital        chr       0      0    203    NA       NA          NA
##  9 longitude      chr       0      0    204    NA       NA          NA
## 10 latitude       chr       0      0    204    NA       NA          NA
## 11 income         chr       0      0      5    NA       NA          NA
## 12 lending        chr       0      0      4    NA       NA          NA
## 13 sayi           int       0      0      1     2        2           2

Görüldüğü üzere datamızı temiz hale getirmiş olduk. Böylelikle data temizleme işlemimiz bitmiş bulunuyor. Şimdi daha düzgün grafikler oluşturabiliriz.

Şimdi Türkiye’nin orman alanının grafiğini çizelim. İlk öncelikle “df_TR” adında bir data oluşturalım. Bu data da sadece Türkiye’nin bilgilerini oluşturacaktır.

GRAFİK OLUŞTURMA ÖRNEKLERİ

TÜRKİYE’NİN YILLARA GÖRE ORMAN ALANLARI DEĞİŞİMİ GRAFİĞİ

df_TR <- df %>% filter(iso2c %in% c("TR"))

Bu kod “df” veri çerçevesinden sadece Türkiye’ye (TR) ait olan gözlemleri filtreleyerek yeni bir veri çerçevesi oluşturur. Bu işlem, “iso2c” sütununda “TR” değerine sahip olan gözlemleri seçer ve yeni bir veri çerçevesi olan “df_TR” içinde bu gözlemleri saklar.

Şimdi bu gözlemleri bir grafik görseline dökelim.

ggplot(df_TR, aes(year, AG.LND.FRST.K2, color = country)) +
geom_line(colour = 'red') +
labs(x = "Yıl", y = "ORMAN ALANI(kilometre kare)", title = "TÜRKİYE'NİN ORMAN ALANI GRAFİĞİ")

Bu R kodu, ggplot2 paketini kullanarak “df_TR” adında bir veri çerçevesinden (varsayılan olarak df_TR olarak adlandırılan bir veri çerçevesi olarak alınmıştır), yıllara göre Türkiye (TR) orman alanını (FAO veri tabanına göre ölçülen orman alanı, birim: km²) gösteren bir çizgi grafiği oluşturur.

ORMAN ALANLARININ DÜNYA NÜFUSU ÜZERİNDEKİ ETKİSİ GRAFİĞİ

dunya_verisi <- df %>%
  group_by(year) %>%
  summarise(
    toplam_alan = sum(AG.LND.FRST.K2),
    toplam_nufus = sum(SP.POP.TOTL),
    ortalama = toplam_alan/toplam_nufus
  ) 

Bu kod ile yeni bir veri seti oluşturarak yıllara göre toplam orman alanı, toplam nüfus ve orman alanının nüfusa oranı gibi özet istatistiklerin hesaplanmasını yapıp listeleme oluşturur..

Şimdi çizgi grafiği kullanarak veri setini görselleştirelim.

ggplot(dunya_verisi, aes(x = year, y = toplam_alan)) +
  geom_line(colour="blue") +
  labs(
    title = "2000 sonrası kişi başına düsen toplam orman alanı",
    x = "Yıl",
    y = "Kişi başına toplam alan"
  )

Şimdi datamız ile bu veri setinin birleştirelim.

df <- left_join(df, dunya_verisi, by='year')

Şimdi datamıza bazı eklemeler yapalım.

df <- df %>%
  mutate(
    ulke_orani = AG.LND.FRST.K2 / toplam_alan * 100,
    nufus_orani = SP.POP.TOTL / toplam_nufus * 100,
    verim = ulke_orani / nufus_orani
  )

Bu R kodu, df veri çerçevesine üç yeni sütun ekler. Yeni eklenen sütunlar, mevcut sütunlardan bazılarının işlenerek elde edilen oranları içerir. Bu işlem, df veri çerçevesine ek sütunlar ekleyerek oranları hesaplar ve bu oranları kullanarak yeni bir sütun oluşturur.

df <- df %>%
  arrange(country, year) %>%
  group_by(country) %>%
  mutate(cumulative_change = (verim / first(verim) - 1) * 100)

Bu R kodu, df veri çerçevesini sıralar, ülkeleri gruplar ve her ülke için kümülatif değişimi hesaplar. Bu işlem, her bir ülkenin verimlilik oranındaki değişimi kümülatif olarak hesaplayarak, zaman içindeki trendleri ve farklı ülkeler arasındaki performans farklarını anlamak için kullanılır.

TÜRKİYE’YE AİT VERİMLİLİK GRAFİĞİ

İlk önce “df_TR” adında bir veri seti oluşturalım. Bu veri seti sadece Türkiye’ye ait verileri bir sütun haline getirecektik.

df_TR <- df %>% filter(country=="Turkiye")

Şimdi bu veri setinin çizgi grafiğini oluşturup görselleştirelim.

ggplot(df_TR, aes(x = year, y = verim)) +
  geom_line() +
  labs(
    title = "2000 sonrası Turkiye'de verim",
    x = "Yıl",
    y = "Verimlilik"
  )

AG.LND.FRST.K2 SP.POP.TOTL

ÇİN ve ABD’nin KARŞILAŞTIRMALI ORMAN ALANLARI GRAFİĞİ

df %>% filter(country %in% c("China", "United States")) %>%
ggplot(aes(x = year,
           y = AG.LND.FRST.K2,
           col = country)) +
  geom_point() +
  labs(
    title = "CIN ve ABD'nin KARŞILAŞTIRMALI ORMAN ALANLARI",
    x = "Yıl",
    y = "Orman Alanı"
  )

Bu kod, R dilindeki dplyr ve ggplot2 paketlerini kullanarak bir veri çerçevesini (df) filtreleyip, sonra “China” (Çin) ve “United States” (ABD) ülkelerinin yıllara göre ormanlık alan miktarını (AG.LND.FRST.K2) nokta grafiği ile görselleştirmek için kullanılır. Sonuç olarak, bu kod parçası, Çin ve ABD’nın yıllara göre ormanlık alan miktarını görselleştirmek için kullanılır.

2020 YILINDAKİ TÜM ÜLKELERİN GRAFİĞİ

Öncelikle “data_2020” adında 2020 yılındaki tüm ülkelerin verilerinin oluştuğu bir veri seti oluşturalım.

data_2020 <- df %>% filter(year == 2020)

Şimdi bu veri setini görsellşetirelim.

ggplot(data_2020, aes(x= SP.POP.TOTL , y=AG.LND.FRST.K2, label = iso2c , colour = region)) +
  geom_point() + 
  geom_text()

Bu R kodu, 2020 yılına ait dünya genelindeki nüfus ile orman alanı verilerini görselleştirmek için bir nokta grafiği oluşturur. Örneğin, büyük nüfusa sahip ülkelerin genellikle daha fazla orman alanına sahip olup olmadığını görmek için kullanılabilir.

library(plotly)
library(readxl)
pwt <- read_excel("C:/Users/sanob/Downloads/pwt1001.xlsx", sheet = "Data")
dff <- df %>% left_join(pwt)
## Joining with `by = join_by(country, year)`
libraries <- c(
    "tidyverse", "sf", "rnaturalearth",
    "wbstats", "gganimate", "classInt"
)
invisible(lapply(libraries, library, character.only = TRUE))
## Linking to GEOS 3.11.2, GDAL 3.8.2, PROJ 9.3.1; sf_use_s2() is TRUE
crs <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
world_sf <- ne_countries(
    type = "countries", scale = "small"
) %>%
    sf::st_as_sf() %>%
    sf::st_transform(crs)
world_sf_no_antartica <- world_sf %>%
    dplyr::filter(region_un != "Antarctica")
dff <- dplyr::left_join(
    world_sf_no_antartica, dff,
    by = c("iso_a2" = "iso2c")
)
countries_Argentina <- dff %>%
  filter(year ==2020, region == "Latin America & Caribbean") %>%
  pull(country)
phi <- dff %>% filter(country %in% countries_Argentina) %>%
ggplot(aes(x = year,
           y = verim,
           col = country)) +
  geom_line(show.legend = FALSE) +
  facet_wrap(~country, scales = "free") +
  transition_reveal(year)  +
  labs(title = "Year: {frame_along}")
animate(plot = phi,
        nframes = 30)