WDI datası ve grafikleri
WDI datası
Veritabanı, 217 ekonomi ve 40’tan fazla ülke grubu için 1400 zaman serisi göstergesi içerir ve birçok göstergeye ilişkin veriler 50 yıldan daha eskiye dayanmaktadır. https://data.worldbank.org/ websitesine girdiğinizde, verileri country (ülke) ve indicator (gösterge) olarak gözlemleyebilirsiniz. “Browse by Country or Indicator” seçeneklerinden, indicator’a girerseniz, birçok başlıkta birçok zaman serisine ulaşabilirsiniz. İlk başlık “Agriculture and Rural Development” (Tarım ve Kırsal Kalkınma) “Aid Effectiveness” (Yardım Etkinliği), üçüncü başlık “Climate Change” (İklim Değişikliği) şeklinde toplam 20 başlık altında, 1400 zaman serisiyle istediğiniz bir ülke için elde edebileceğiniz her çeşit veriye ulaşabilirsiniz.
Bu veri setine R’dan ulaşabilmek için WDI paketini yüklemelisiniz. Sağ alt köşede bulunan Packages sekmesinden WDI paketini yükledikten sonra, library yapmalısınız.
library(WDI)
İstediğiniz veri setinin anahtar kelimesine nasıl ulaşabilirsiniz. Diyelim ki göstergeleri okuduğunuz, indicator seçeneğine tıkladınız ve https://data.worldbank.org/indicator sayfasına ulaştınız. Ülkelerin, CO2 emissions (metric tons per capita), karbondioksit emisyonları (kişi başına metrik ton) verilerini merak ediyorsunuz. Bu yüzden Environment (Çevre) başlığı altında bu veri setine tıkladınız ve şu sayfa açıldı.
https://data.worldbank.org/indicator/EN.ATM.CO2E.PC?view=chart
web sayfasının ortasında bulunan EN.ATM.CO2E.PC bu veri setinin anahtar kelimesidir. Siz Meksika, Türkiye ve US’in bu konu hakkındaki verilerini 1960’dan 2018’e kadar indirmek istiyorsunuz. Bu veri setini R’a df olarak kaydedelim.
df = WDI(indicator='EN.ATM.CO2E.PC', country=c('MX','TR','US'), start=1960, end=2018)
Bu veri setini gözlemleyelim.
head(df)
## iso2c country EN.ATM.CO2E.PC year
## 1 MX Mexico 3.741478 2018
## 2 MX Mexico 3.781216 2017
## 3 MX Mexico 3.885809 2016
## 4 MX Mexico 3.878195 2015
## 5 MX Mexico 3.808063 2014
## 6 MX Mexico 3.954147 2013
Veriye verilen isimler ingilizce ve çok uzun, df veri setinde bulunan değişkenlere yeniden isim vermek isterseniz, rename foksiyonu sütünlara göre şu şekilde kullanabilirsiniz.
library(dplyr)
df <- df %>%
rename(ulkekodu = 1,
ulke = 2,
karbondioksit = 3,
sene = 4)
rename fonksiyonuyla, değiştirmek istediğiniz değişkenlerin isimlerini, sütünlarına göre yazabilirsiniz. Örneğin, country ikinci sütünda olduğu için, ikinci sütünun ismini ulke yapmak isterseniz, ulke = 2 yazabilirsiniz.
Veri seti alt alta dizilmiş şekilde verilmektedir. En üste Meksika, ortada Türkiye en altta US bulunmakta. Bu veri setini yan yana görmel istersek şu fonksiyonu kullanmalıyız.
Veriyi, ülkelere göre geniş şekilde gözlemlemek istiyoruz.
library(reshape2)
data_genis <- dcast(df, sene ~ ulke, value.var="karbondioksit")
head(data_genis)
## sene Mexico Turkey United States
## 1 1960 1.670990 0.6122715 15.99978
## 2 1961 1.675962 0.6168793 15.68126
## 3 1962 1.587485 0.7502431 16.01394
## 4 1963 1.600528 0.7676379 16.48276
## 5 1964 1.736658 0.8707899 16.96812
## 6 1965 1.705355 0.8842807 17.45173
Veri setinde bulunan bütün ülkelerin 2010 ve 2020 arası GSYH’larını indirmek isterseniz aşağıdaki kodu kullanabilirsiniz.
df2 <- WDI(
country = "all",
indicator = "NY.GDP.PCAP.KD",
start = 2010,
end = 2020,
extra = TRUE,
cache = NULL,
latest = NULL,
language = "tr"
)
bütün opsiyonlar isteğe bağlıdır. indicator seçeneğinden sonraki hiçbir opsiyonu yazmasanızda olur. start ve end seçeneklerini yazmasaydınız, verileri 1960’dan günümüze kadar yüklerdiniz. extra, seçeneği size ülkelerin enlem ve boylamlarını verir ve R’da harita çizmek isterseniz işinize yarar. language, seçeneği ülkelerin türkçe adlarını vermek için kullanılabilir. Ama türkçe seçeneği, anlaşılabileceği üzere tam olarak çalışmamaktadır. View(df2) ile veri setini açarsanız, country sütünunda türkçe isimler gözlemlersiniz.
Anahtar kelime aramasını direk, R üzerinden de yapabilirsiniz. Diyelim ki elektrik ile ilgili bir veri arıyorsunuz.
WDIsearch("electricity")
## indicator
## [1,] "1.1_ACCESS.ELECTRICITY.TOT"
## [2,] "1.2_ACCESS.ELECTRICITY.RURAL"
## [3,] "1.3_ACCESS.ELECTRICITY.URBAN"
## [4,] "2.0.cov.Ele"
## [5,] "2.0.hoi.Ele"
## [6,] "4.1.1_TOTAL.ELECTRICITY.OUTPUT"
## [7,] "4.1.2_REN.ELECTRICITY.OUTPUT"
## [8,] "4.1_SHARE.RE.IN.ELECTRICITY"
## [9,] "9060000"
## [10,] "EG.ELC.ACCS.RU.ZS"
## [11,] "EG.ELC.ACCS.UR.ZS"
## [12,] "EG.ELC.ACCS.ZS"
## [13,] "EG.ELC.COAL.KH"
## [14,] "EG.ELC.COAL.ZS"
## [15,] "EG.ELC.FOSL.ZS"
## [16,] "EG.ELC.HYRO.KH"
## [17,] "EG.ELC.HYRO.ZS"
## [18,] "EG.ELC.NGAS.KH"
## [19,] "EG.ELC.NGAS.ZS"
## [20,] "EG.ELC.NUCL.KH"
## [21,] "EG.ELC.NUCL.ZS"
## [22,] "EG.ELC.PETR.KH"
## [23,] "EG.ELC.PETR.ZS"
## [24,] "EG.ELC.PROD.KH"
## [25,] "EG.ELC.RNEW.KH"
## [26,] "EG.ELC.RNEW.ZS"
## [27,] "EG.ELC.RNWX.KH"
## [28,] "EG.ELC.RNWX.ZS"
## [29,] "EN.CO2.ETOT.MT"
## [30,] "EN.CO2.ETOT.ZS"
## [31,] "EN.PRD.ELEC"
## [32,] "EN.PRD.ELEC.POP.ZS"
## [33,] "HOU.ELC.ACSN.ZS"
## [34,] "IC.CNS.ELEC.ZS"
## [35,] "IC.ELC.ACES.DFRN.DB1015"
## [36,] "IC.ELC.ACES.DFRN.DB1619"
## [37,] "IC.ELC.ACES.RK DB19"
## [38,] "IC.ELC.ACS.COST"
## [39,] "IC.ELC.ACS.COST.DFRN"
## [40,] "IC.ELC.COMM.TRFF.CG.01.DB1619"
## [41,] "IC.ELC.GEN.ZS"
## [42,] "IC.ELC.LMTG.OUTG.01.DB1619"
## [43,] "IC.ELC.MONT.OUTG.01.DB1619"
## [44,] "IC.ELC.OUTG.FREQ.DURS.03.DB1619"
## [45,] "IC.ELC.OUTG.MN.DB1619"
## [46,] "IC.ELC.PRI.KH.DB1619"
## [47,] "IC.ELC.PROC.NO"
## [48,] "IC.ELC.PROC.NO.DFRN"
## [49,] "IC.ELC.REGU.MONT.01.DB1619"
## [50,] "IC.ELC.RSTOR.01.DB1619"
## [51,] "IC.ELC.RSTT.XD.08.DB1619"
## [52,] "IC.ELC.RSTT.XD.08.DFRN.DB1619"
## [53,] "IC.ELC.SAID.XD.DB1619"
## [54,] "IC.ELC.SAIF.XD.DB1619"
## [55,] "IC.ELC.TIME"
## [56,] "IC.ELC.TIME.DFRN"
## [57,] "IC.ELEC.COST.PC.ZS"
## [58,] "IC.ELEC.PROC"
## [59,] "IC.ELEC.TIME"
## [60,] "IC.ELEC.XQ"
## [61,] "IC.FRM.ELEC.ZS"
## [62,] "IC.FRM.INFRA.IN10_C"
## [63,] "IC.FRM.INFRA.IN12"
## [64,] "IC.FRM.OBS.OBST8"
## [65,] "IN.ENRGY.ELEC.GEN"
## [66,] "NA.GDP.ELEC.GAS.SNA08.CR"
## [67,] "NA.GDP.ELEC.GAS.SNA08.KR"
## [68,] "NV.IND.GELW.CD"
## [69,] "NV.IND.GELW.CN"
## [70,] "NV.IND.GELW.KN"
## [71,] "SG.COK.ELEC.ZS"
## [72,] "SI.POV.ELEC.MI"
## [73,] "SL.EMP.ELC"
## [74,] "UIS.SCHBSP.1.PU.WELEC"
## [75,] "UIS.SCHBSP.2.PU.WELEC"
## name
## [1,] "Access to electricity (% of total population)"
## [2,] "Access to electricity (% of rural population)"
## [3,] "Access to electricity (% of urban population)"
## [4,] "Coverage: Electricity"
## [5,] "HOI: Electricity"
## [6,] "Total electricity output (GWh)"
## [7,] "Renewable energy electricity output (GWh)"
## [8,] "Renewable electricity (% in total electricity output)"
## [9,] "9060000:ACTUAL HOUSING, WATER, ELECTRICITY, GAS AND OTHER FUELS"
## [10,] "Access to electricity, rural (% of rural population)"
## [11,] "Access to electricity, urban (% of urban population)"
## [12,] "Access to electricity (% of population)"
## [13,] "Electricity production from coal sources (kWh)"
## [14,] "Electricity production from coal sources (% of total)"
## [15,] "Electricity production from oil, gas and coal sources (% of total)"
## [16,] "Electricity production from hydroelectric sources (kWh)"
## [17,] "Electricity production from hydroelectric sources (% of total)"
## [18,] "Electricity production from natural gas sources (kWh)"
## [19,] "Electricity production from natural gas sources (% of total)"
## [20,] "Electricity production from nuclear sources (kWh)"
## [21,] "Electricity production from nuclear sources (% of total)"
## [22,] "Electricity production from oil sources (kWh)"
## [23,] "Electricity production from oil sources (% of total)"
## [24,] "Electricity production (kWh)"
## [25,] "Electricity production from renewable sources (kWh)"
## [26,] "Renewable electricity output (% of total electricity output)"
## [27,] "Electricity production from renewable sources, excluding hydroelectric (kWh)"
## [28,] "Electricity production from renewable sources, excluding hydroelectric (% of total)"
## [29,] "CO2 emissions from electricity and heat production, total (million metric tons)"
## [30,] "CO2 emissions from electricity and heat production, total (% of total fuel combustion)"
## [31,] "Electricity production (million kwh)"
## [32,] "Electricity production (kwh per capita)"
## [33,] "Household Access to Electricity: Total (in % of total household)"
## [34,] "Electricity (% of managers surveyed ranking this as a major constraint)"
## [35,] "Getting electricity (DB10-15 methodology) - Score"
## [36,] "Getting electricity (DB16-20 methodology) - Score"
## [37,] "Rank: Getting electricity (1=most business-friendly regulations)"
## [38,] "Getting electricity: Cost to get electricity (% of income per capita)"
## [39,] "Getting electricity: Cost to get electricity (% of income per capita) - Score"
## [40,] "Getting electricity: Communication of tariffs and tariff changes (0-1) (DB16-20 methodology)"
## [41,] "Electricity from Generator (%)"
## [42,] "Getting electricity: Financial deterrents aimed at limiting outages (0-1) (DB16-20 methodology)"
## [43,] "Getting electricity: Mechanisms for monitoring outages (0-1) (DB16-20 methodology)"
## [44,] "Getting electricity: Total duration and frequency of outages per customer a year (0-3) (DB16-20 methodology)"
## [45,] "Getting electricity: Minimum outage time (in minutes) (DB16-20 methodology)"
## [46,] "Getting electricity: Price of electricity (US cents per kWh) (DB16-20 methodology)"
## [47,] "Getting electricity: Procedures (number)"
## [48,] "Getting electricity: Procedures (number) - Score"
## [49,] "Getting electricity: Regulatory monitoring (0-1) (DB16-20 methodology)"
## [50,] "Getting electricity: Mechanisms for restoring service (0-1) (DB16-20 methodology)"
## [51,] "Getting electricity: Reliability of supply and transparency of tariff index (0-8) (DB16-20 methodology)"
## [52,] "Getting electricity: Reliability of supply and transparency of tariff index (0-8) (DB16-20 methodology) - Score"
## [53,] "Getting electricity: System average interruption duration index (SAIDI) (DB16-20 methodology)"
## [54,] "Getting electricity: System average interruption frequency index (SAIFI) (DB16-20 methodology)"
## [55,] "Time required to get electricity (days)"
## [56,] "Getting electricity: Time (days) - Score"
## [57,] "Cost to get electricity connection (% of income per capita)"
## [58,] "Procedures required to get electricity (number)"
## [59,] "Time required to get electricity (days)"
## [60,] "Getting electricity (rank)"
## [61,] "Electricity (% of firms identifying this as a major constraint)"
## [62,] "If a generator is used, average proportion of electricity from a generator (%)"
## [63,] "Percent of firms identifying electricity as a major constraint"
## [64,] "Percent of firms choosing electricity as their biggest obstacle"
## [65,] "Total-Electricity Generated Gross (GWh)"
## [66,] "GDP on Electricity & Gas Supply Sector (in IDR Million), SNA 2008, Current Price"
## [67,] "GDP on Electricity & Gas Supply Sector (in IDR Million), SNA 2008, Constant Price"
## [68,] "Electricity, gas and water supply, value added (current US$)"
## [69,] "Electricity, gas and water supply, value added (current LCU)"
## [70,] "Electricity, gas and water supply, value added (constant LCU)"
## [71,] "Main cooking fuel: electricity (% of households)"
## [72,] "Multidimensional poverty, Electricity (% of population deprived)"
## [73,] "Number of people employed in electricity and utilities sector"
## [74,] "Proportion of public primary schools with access to electricity (%)"
## [75,] "Proportion of public lower secondary schools with access to electricity (%)"
Size elektirik ile ilgili bütün anahtar kelimeleri verecektir. Google translate yardımıyla istediğiniz veriye ulaşabilirsiniz.
Biz data_genis veri setimizi, bir zaman serisine çevirelim. R’da bu tür zaman serilerine, ts denilir.
tsveri <- ts(data_genis, start=1960, frequency=1)
tsveri, artık bir zaman serisi.
head(tsveri)
## sene Mexico Turkey United States
## [1,] 1960 1.670990 0.6122715 15.99978
## [2,] 1961 1.675962 0.6168793 15.68126
## [3,] 1962 1.587485 0.7502431 16.01394
## [4,] 1963 1.600528 0.7676379 16.48276
## [5,] 1964 1.736658 0.8707899 16.96812
## [6,] 1965 1.705355 0.8842807 17.45173
frequency, seçeneği aylık verilerde 12, çeyreklik verilerde 4, haftalık verilerde 52 olarak girilir. Türkiye’nin verisini, zaman serisi grafiği olarak çizmek istersek.
karbondioksit emisyonları (kişi başına metrik ton)
library(ggplot2)
library(ggfortify)
autoplot(tsveri[,"Turkey"]) +
ggtitle("Türkiye'nin kişi başına metrik ton olarak karndioksit emisyonu") +
xlab("Sene") +
ylab("")
ggtitle, xlab ve ylab seçenekleri sadece grafiğinize isimler vermek için kullanılır. autoplot fonksiyonunuza renk katmak isterseniz, aşağıdaki seçenekleri uygulayabilirsiniz.
autoplot(tsveri[,"Turkey"], ts.colour = 'red', ts.linetype = 'dashed')
En basit grafik ise plot fonksiyonuyla çizilebilir. Zaten ts objesine sahip olduğumuz için, sene değişkenini eklememize gerek yoktur. tsveri, veri setinin içinden, Mexico sütünunu yazmak isterseniz, kapalı parantezin içine virgülden sonra sütunun ismi yazılabilir, ya da rakamı yazılabilir. Virgülden önceki kısım, satırları belirtir. Virgülden sonraki kısım sütunları belirtir.
plot(tsveri[,"Turkey"])
Eğer, bütün yılları gözlemlemek istersek, vigülden önceye birşey yazmamıza gerek yoktur. Türkiye, Meksikanın ve US’in verileri, ikinci, üçüncü ve dördüncü sütundadır. 2’den 4’cü sütuna kadar olan verileri grafiklemek istersek şu şekilde yazabiliriz.
plot(tsveri[,2:4])
Aynı grafikte göstermek isterseniz, plot type girebilirsiniz.
plot(tsveri[,2:4], plot.type = "single")
Grafiğinizi geliştirmek isterseniz aşağıdaki kodu inceleyin.
plot(tsveri[,2],
type = "l",
col = 2,
ylim = c(0, 25),
xlab = "Sene",
ylab = "Karbondioksit")
lines(tsveri[,3],
type = "l",
col = 3)
lines(tsveri[,4],
type = "l",
col = 4)
legend("topright",
c("Meksika", "Türkiye", "US"),
lty = 1,
col = 2:4)
Tabiki veri setimizi tekrar uzun formata alıp grafiğini öyle de gösterebiliriz.
Veri setinde sene isimli değişkene göre, veri setini uzun formatına geri getirelim.
data_uzun <- melt(data_genis, id.vars = "sene")
data_uzun veri seti artık variable ve value isimli iki değişkene sahip, variable değişkeni üç ülkeyi sırasıyla gösteriyor, value değişkeni ise bu ülkelerdeki karbondioksit değerlerini veriyor.
ggplot paketini kullanarak aynı grafiği gösterelim.
ggplot(data_uzun,
aes(x = sene,
y = value,
col = variable)) +
geom_line()