VIZE PROJESI

MAMADENE DJAWARE MAHAMAT

2024-04-16

2110504538

Dünya Co2 Emisyon Analizi

Küresel ısınma şu anda insan ırkının karşı karşıya olduğu en büyük sorunlardan biridir, her ne kadar korelasyon nedensellik olmasa da küresel ısınmanın muhtemel bir nedeni insan faaliyetlerinden kaynaklanan atmosferik karbondioksit artışıdır. Ancak sera gazı emisyonlarının küresel ısınmanın temel nedeni olup olmadığı bu defterdeki araştırma sorusu değildir.

Şu anda tarihin en tehlikeli deneyini yapıyoruz; bu deney, çevresel bir felaket yaşanmadan önce atmosferin ne kadar karbondioksiti kaldırabileceğini görmek için yapılıyor - Elon Musk Bu not defterinde “Dünya Kalkınma Göstergeleri” veri setini, özellikle de “WDIData_T.csv” ve “WDICountry.csv” dosyalarını kullanarak CO2 emisyon verilerini inceleyerek aşağıdaki soruları yanıtlayacağım: CO2 emisyonları (kt) ve CO2 emisyonları (kişi başına metrik ton) göstergeleri açısından ilk 10 kirletici ülke hangileridir ve emisyon eğilimleri nedir?, tüm ülkelerin genel emisyon eğilimi nedir ve Hangi sektörler emisyonlara en fazla katkıda bulunmuştur ?

Kullanılan veri dosyası, ayrıntıları verilen 1437 farklı türde kalkınma göstergesine sahip 263 benzersiz ülke hakkında 7.678.806 satır veri içermektedir.

df=pd.read_csv(‘/kaggle/input/world-development-indicators/WDIData_T.csv’) supdata=pd.read_csv(‘/kaggle/input/world-development-indicators/WDI_csv/WDICountry.csv’)

library(WDI)

Tabii, WDI paketi, Dünya Bankası verilerine erişmek ve bu veriler üzerinde çalışmak için kullanılan bir R paketidir. “library(WDI)” kodu, paketi yükler ve kullanıma hazır hale getirir. “message = FALSE” ve “warning = FALSE” argümanları, paketin yükleme sırasında mesaj ve uyarıları göstermemesini sağlar, bu da genellikle işlevin sessizce çalışmasını tercih edenler için yararlıdır.

data_wdi <- WDI(country = "all", indicator = c("EG.ELC.ACCS.ZS","EN.ATM.CO2E.KT"),start = 1960)

Bu kod bloğu, “WDI” paketini kullanarak Dünya Bankası verilerini çeker. Veriler, elektrik erişimi yüzdesi (EG.ELC.ACCS.ZS) ve karbon dioksit emisyonu (EN.ATM.CO2E.KT) gibi belirli göstergelerle ilgili olacaktır. “country = ‘all’” argümanı, tüm ülkelerin verilerini almayı sağlar. “start = 1960” ise verilerin 1960’tan itibaren başlayacağını belirtir. Bu kod bloğu, belirtilen göstergelerle ilgili tüm ülkelerin verilerini çeker ve “data_wdi” adlı bir veri çerçevesine kaydeder.

str(data_wdi)
## '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 ...
##  $ EG.ELC.ACCS.ZS: num  NA NA NA NA NA NA NA NA NA NA ...
##   ..- attr(*, "label")= chr "Access to electricity (% of population)"
##  $ EN.ATM.CO2E.KT: num  NA NA NA NA NA NA NA NA NA NA ...
##   ..- attr(*, "label")= chr "CO2 emissions (kt)"
library(tidyverse)

“tidyverse” paketini yükler ve kullanıma hazır hale getirir. “message = FALSE” ve “warning = FALSE” argümanları, paketin yükleme sırasında mesaj ve uyarıları göstermemesini sağlar, bu da genellikle işlevin sessizce çalışmasını tercih edenler için yararlıdır.

library(explore)

“explore” paketini yükler ve kullanıma hazır hale getirir. “message = FALSE” ve “warning = FALSE” argümanları, paketin yükleme sırasında mesaj ve uyarıları göstermemesini sağlar. Bu, genellikle işlevin sessizce çalışmasını tercih edenler için kullanışlıdır.

describe_all(data_wdi)
## # 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 EG.ELC.ACCS.ZS dbl    9676   56.8   4328    0.53      80.8      100 
## 6 EN.ATM.CO2E.KT dbl    9616   56.5   7177    0    1023986.  35560556.
Ek_veri <- WDI_data$country

WDI_data” veri çerçevesindeki “country” sütununu “Ek_veri” adlı bir değişkene atar. Bu değişken, WDI verilerindeki ülke bilgilerini içerir.

data_Ek <- left_join(data_wdi, Ek_veri)

“data_wdi” ve “Ek_veri” veri çerçevelerini birleştirir. left_join işlevi, “data_wdi” veri çerçevesini temel olarak alır ve onu “Ek_veri” veri çerçevesiyle birleştirir, böylece “Ek_veri” veri çerçevesindeki ülke bilgileri “data_wdi” veri çerçevesine eklenir.

data_Ek <- data_Ek %>% filter(region != "Aggregates" )

“data_Ek” veri çerçevesindeki “region” sütununda “Aggregates” değerine sahip satırları filtreler. Yani, “Aggregates” olarak etiketlenen bölgelerin verilerini filtreler.

data_Ek <- data_Ek %>%
  mutate(EG.ELC.ACCS.ZS = coalesce(EG.ELC.ACCS.ZS, 0),
         EN.ATM.CO2E.KT = coalesce(EN.ATM.CO2E.KT, 0))

“data_Ek” veri çerçevesindeki belirli sütunlardaki eksik değerleri (NA) 0 ile doldurur. Yani, “EG.ELC.ACCS.ZS” ve “EN.ATM.CO2E.KT” sütunlarında eksik değerler varsa, bu değerler “coalesce” işlevi kullanılarak 0 ile değiştirilir.

data_Ek %>% 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 EG.ELC.ACCS.ZS dbl       0      0   3207     0    35.7      100 
##  6 EN.ATM.CO2E.KT dbl       0      0   5720     0 60112.  10944686.
##  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
data_wdi_US_TUR <-data_wdi %>% filter(iso3c %in% c("US" , "TUR"))

“data_wdi” veri çerçevesinden “iso3c” sütununda “US” veya “TUR” değerine sahip olan satırları filtreler. Yani, “US” (Amerika Birleşik Devletleri) veya “TUR” (Türkiye) ülkelerinin verilerini içeren bir alt veri çerçevesi oluşturur.

ggplot(data_wdi_US_TUR, aes(year, EN.ATM.CO2E.KT, color = country)) +
geom_line() +
labs(x = "Year", y = "EG", title = "EN.ATM.CO2E.KT US and TUR")
## Warning: Removed 33 rows containing missing values or values outside the scale range
## (`geom_line()`).

kayip_degerler <- data_Ek %>% group_by(country) %>% summarise(kayip_degerler = sum(is.na(EN.ATM.CO2E.KT)))

Bu kod, “data_Ek” veri çerçevesindeki her bir ülkeyi gruplar, ardından her bir ülkenin “EN.ATM.CO2E.KT” sütununda bulunan eksik değerlerin sayısını hesaplar. Sonuçları “country” adlı bir sütunla birlikte “kayip_degerler” adlı bir değişkene kaydeder. Bu şekilde, her ülkenin eksik karbon emisyonu değerlerinin toplamını içeren bir veri çerçevesi elde edilir.

KESIT VERI

Kesit veri, belirli bir an veya bir zaman diliminde birçok birey veya birim hakkında toplanan verilerdir. Yani, aynı zamanda ve farklı bireyler veya birimler üzerinde yapılan gözlemleri içerir. Kesit veri, bir anda alınan bir “kesit” gibidir, bu yüzden bu isimle anılır. Örneğin, bir anketin bir gün içinde farklı insanlar üzerinde yapılan yanıtlarını içeren bir veri seti, kesit veri örneğidir.

library(ggplot2)

Bu kod, “ggplot2” paketini R ortamına yükler ve kullanıma hazır hale getirir. “ggplot2”, görselleştirmeler oluşturmak için kullanılan bir R paketidir ve veri görselleştirmesi için güçlü bir araç sağlar.

data_kesitveri <- data_Ek %>% filter(year == 2003 )

Bu kod, “data_Ek” veri çerçevesinden sadece 2003 yılına ait olan gözlemleri filtreler ve “data_kesitveri” adında yeni bir veri çerçevesi oluşturur. Yani, verinin sadece belirli bir yıla ait olan kesitini alır.

ggplot(data_kesitveri, aes(x= EG.ELC.ACCS.ZS , y= EN.ATM.CO2E.KT)) +  geom_line()

data_kesitveri_TRveUSsiz <- data_kesitveri %>% filter(iso2c !="TR")

Bu kod, “data_kesitveri” veri çerçevesinden “iso2c” sütununda “TR” (Türkiye) değerine sahip olmayan satırları filtreler. Yani, Türkiye dışındaki ülkelerin 2003 yılına ait kesit verilerini içeren bir veri çerçevesi oluşturur.

data_kesitveri_TRveUSsiz <- data_kesitveri_TRveUSsiz%>% filter(iso2c !="US")

Bu kod, “data_kesitveri_TRveUSsiz” veri çerçevesinden “iso2c” sütununda “US” (Amerika Birleşik Devletleri) değerine sahip olmayan satırları filtreler. Yani, Amerika Birleşik Devletleri dışındaki ülkelerin Türkiye hariç 2003 yılına ait kesit verilerini içeren bir veri çerçevesi oluşturur.

data_kesitveri_TRveUSveCHsiz <- data_kesitveri_TRveUSsiz %>% filter(iso2c !="CH")

Bu kod, “data_kesitveri_TRveUSsiz” veri çerçevesinden “iso2c” sütununda “CH” (İsviçre) değerine sahip olmayan satırları filtreler. Yani, İsviçre dışındaki ülkelerin Türkiye ve Amerika Birleşik Devletleri hariç 2003 yılına ait kesit verilerini içeren bir veri çerçevesi oluşturur.

data_kesitveri_TRveUSveCHveCNsiz <- data_kesitveri_TRveUSveCHsiz %>% filter(iso2c !="CN")

Bu kod, “data_kesitveri_TRveUSveCHsiz” veri çerçevesinden “iso2c” sütununda “CN” (Çin) değerine sahip olmayan satırları filtreler. Yani, Çin dışındaki ülkelerin Türkiye, Amerika Birleşik Devletleri ve İsviçre hariç 2003 yılına ait kesit verilerini içeren bir veri çerçevesi oluşturur.

data_kesitveri_TRveUSveCHveCNveVIsiz <- data_kesitveri_TRveUSveCHveCNsiz %>% filter(iso2c !="VI")

Bu kod, “data_kesitveri_TRveUSveCHveCNsiz” veri çerçevesinden “iso2c” sütununda “VI” (Virgin Adaları) değerine sahip olmayan satırları filtreler. Yani, Virgin Adaları dışındaki ülkelerin Türkiye, Amerika Birleşik Devletleri, İsviçre ve Çin hariç 2003 yılına ait kesit verilerini içeren bir veri çerçevesi oluşturur.

ggplot(data_kesitveri_TRveUSveCHveCNveVIsiz, aes(x = EG.ELC.ACCS.ZS, y =EN.ATM.CO2E.KT, label = iso2c,  color = region)) +
  geom_point() +
  geom_text()

Toplam verisi(Dünaya)

Küresel CO2 emisyonlarının 2019 yılına kadar yaklaşık 33 milyar tona ulaşacağı tahmin edilmektedir. Ancak bu rakamlar yıldan yıla değişebilir ve farklı kuruluşlar farklı tahminler sunabilir. 2020’de ve sonrasında COVID-19 salgını gibi olaylar sera gazı emisyonları üzerinde önemli bir etkiye sahip olabilir.

Enerji tüketimi, elektrik tüketimi, ısınma, ulaşım, endüstriyel üretim ve diğer davranışlar için kullanılan enerji miktarını temsil eder. - CO2 emisyon faktörü, kullanılan enerji kaynaklarına ve enerjinin nasıl dönüştürüldüğüne göre değişir. Örneğin, kömür gibi fosil yakıtların yakılması genellikle yüksek CO2 emisyonlarına neden olurken, rüzgar ve güneş enerjisi gibi yenilenebilir enerji kaynakları neredeyse hiç CO2 üretmez. Toplam küresel CO2 emisyonlarını hesaplamak için, küresel enerji tüketimini ve ortalama CO2 emisyon faktörünü dikkate alarak bu formülü kullanabilirsiniz.

Toplam küresel CO2 emisyonlarını doğrudan hesaplamak için basit bir formül yoktur, çünkü bu emisyonlar birçok faktörden etkilenir ve karmaşık bir hesaplama gerektirir. Ancak, genel olarak, küresel CO2 emisyonlarını tahmin etmek için aşağıdakine benzer bir yaklaşım kullanılabilir:

\[Toplam CO2 Emisyonu= ∑(Ülkelerin CO2 Emisyonları)\]

Toplam küresel CO2 emisyonlarını doğru bir şekilde belirlemek için, bu hesaplamaları yapmak ve ardından tüm ülkelerin emisyonlarını toplamak gerekir. Ancak bu, genellikle uluslararası enerji ajansları ve bilimsel araştırma enstitüleri tarafından yürütülen karmaşık bir süreçtir. Bu nedenle, belirli verileri elde etmek için bu kuruluşlar tarafından yayınlanan raporları takip etmek önemlidir.

dunya_datasi <- data_Ek %>% group_by(year) %>% summarise(dunyaenerji = sum(EN.ATM.CO2E.KT ) , dunyanusfusu = sum(EG.ELC.ACCS.ZS),
 kisibasienerji=dunyaenerji/dunyanusfusu)
ggplot(dunya_datasi, aes(x = dunyaenerji, y = year, color="blue")) + 
geom_point() 

ggplot(dunya_datasi, aes(x = year, y = dunyanusfusu, color= year)) + 
geom_point()

ggplot(dunya_datasi, aes(x = year, y = kisibasienerji)) + 
geom_point()
## Warning: Removed 32 rows containing missing values or values outside the scale range
## (`geom_point()`).

ggplot(dunya_datasi, aes(x = year, y = kisibasienerji,color="red")) + 
geom_point()+labs(title=" kisibasienerji",y=" kisibasienerji",x= "sene")+ theme_linedraw()
## Warning: Removed 32 rows containing missing values or values outside the scale range
## (`geom_point()`).