WorldBank Veri Çekme İşlemi


 

GoogleVis

 

Merhaba R severler,

Bugün sizlere dünya bankasından verileri nasıl çekebileceğimizi göstereceğim. Bilindiği gibi istatistiksel anlamda büyük veri setleriyle çalışmak için genellikle dünya bankasını kullanırız. Bunun için önce veriyi tablo halinde gösteririz sonrasında excel olarak veriyi indiririz. Arkasından r programının içerisine dahil ederiz ki bu işlemler bize vakit kaybettirmektedir. Aslında bu işlemleri tek satır kodla halledebiliriz. Zamandan tasarruf etmek için en kullanışlı yol olduğunu düşünüyorum.

Dünya bankasından verileri çekmek için “WDI” paketini kullanmaktayız. Elbette ki bu işlem için birçok R paketi bulunmakta fakat buradaki esas amaç sizlere en kolay ve anlaşılır paketi göstermektir. Öncelikle paketi indirelim ve kullanıma açalım.

install.packages("WDI")

library("WDI")

Veriyi çekmek için komutumuz yine “WDI” olacaktır.

WDI(country = "all", indicator = "NY.GNS.ICTR.GN.ZS",start = 2005, end = 2011, extra = FALSE, cache = NULL)

Kullanımı gayet kolay ve sade; “country” argümanı ile ülkeleri, “indicator” ile göstergeleri , “start” ve “end” ile başlangıç – bitiş zamanlarını temsil etmektedir. “extra” argümanı ise çekilen veride fazladan bilgi varsa o bilgiyi getirip getirmeyeceğimizi temsil etmektedir. Örneğin şu komut dizinine bir bakalım

WDI(country=c("US","BR"), indicator="NY.GNS.ICTR.GN.ZS", start=1999, end=2000, extra=TRUE, cache=NULL)

Amerika ve Britanya’ya ait göstergeleri programın içerisine dahil ediyoruz. Göstergelerin anlamlarını kısaltmalarıyla beraber sayfanın sonunda görebilirsiniz. Eğer veri aramak istiyorsanız;

WDIsearch(string='AG.AGR.TRAC.NO', field='indicator', cache=NULL)

Yukarıdaki komutla bu işi kolay bir şekilde yapabilirsiniz.

Dünya bankasından veri çekmek için kullanılan ve 2016 yılında piyasaya sürülmüş olan diğer paketi inceleyelim. Bu paketin adı “wbstats.” Bu  paketle beraber daha önceden anlattığımız “GoogleVis” paketini beraber kullandığınızda ortaya mükemmel bir sonuç çıkıyor.

Biraz bu paketi inceleyelim. Öncelikle her zamanki gibi paketi indiriyoruz ve kullanıma açıyoruz.

install.packages("wbstats")

library("wbstats")

ilk komutumuzu kullanmaya başlayalım. “wb” komutu tahmin edeceğiniz gibi dünya bankasından veriyi indirmek için kullanılır. Kullanımı şu şekildedir.

wb(country = "all", indicator, startdate, enddate, mrv, gapfill, freq, cache,lang = c("en", "es", "fr", "ar", "zh"), removeNA = TRUE,POSIXct = FALSE, includedec = FALSE)

Argümanlara bakacak olursak; “country” ülkeleri, “indicator” göstergeleri, “startdate – enddate” zaman aralığını, “mrv” döndürülecek kayıt sayısını,”freq” veriye ait “Q” çeyrek, “M” aylık, “Y” yıllık olmak üzere sıklılığı ifade etmektedir.

Şimdi Türkiye’ye ve Amerika’ya ait gelir paylarını listeleyen kodu yazalım

wb(country = c(“US”,"TR"), indicator = 'SI.DST.04TH.20', startdate = 1970, enddate = 2000, mrv = 5)

Görüldüğü gibi kullanımı gayet basit. Biz bu veriyi istersek data frame içerisine atıp sonrasında excele dönüştürebiliriz.

Şimdiki adımda veri görselleştirme sanatına geçiyoruz. Bunun için daha önce dediğimiz gibi “GoogleVis” kullanacağız. Kodlar aşağıdaki gibidir ve bu kodları kesinlikle deneyip görmeniz gereklidir. Yapacağınız tek iş “wbstats”,” data.table” ve “googleVis” paketlerini indirmek ve aşağıdaki kodları R içerisine yapıştırmak olacaktır.

library(wbstats)

library(data.table)

library(googleVis)

# Download World Bank data and turn into data.table

myDT <- data.table(

  wb(indicator = c("SP.POP.TOTL",

                   "SP.DYN.LE00.IN",

                   "SP.DYN.TFRT.IN"), mrv = 60)

# Download country mappings

countries <- data.table(wbcountries())

# Set keys to join the data sets

setkey(myDT, iso2c)

setkey(countries, iso2c)

# Add regions to the data set, but remove aggregates

myDT <- countries[myDT][ ! region %in% "Aggregates"]

# Reshape data into a wide format

wDT <- reshape(

  myDT[, list(

  country, region, date, value, indicator)],

  v.names = "value",

  idvar=c("date", "country", "region"),

  timevar="indicator", direction = "wide")

# Turn date, here year, from character into integer

wDT[, date := as.integer(date)]

setnames(wDT, names(wDT),

         c("Country", "Region",

         "Year", "Population",

         "Fertility", "LifeExpectancy"))

M <- gvisMotionChart(wDT, idvar = "Country",

                     timevar = "Year",

                     xvar = "LifeExpectancy",

                     yvar = "Fertility",

                     sizevar = "Population",

                     colorvar = "Region")

# Ensure Flash player is available an enabled

plot(M)

 

konuyla ilgili soru ve önerilerinizi sağ alt köşedeki chat sayfasından yada www.facebook.com/rcoding sayfamızdan mesaj yoluyla yapabilirsiniz.

KAYNAKÇA

https://cran.r-project.org/web/packages/WDI/WDI.pdf

https://cran.r-project.org/web/packages/wbstats/wbstats.pdf

https://www.r-bloggers.com/new-r-package-to-access-world-bank-data/

 

Yazar Kimdir?

Sıtkı Cansu, 19 Ekim 1985 yilinda Konya-Beyşehir'de dogmustur.İlk, orta ve liseyi Beyşehir'de bitirmis olup Konya-Ereğli Selçuk MYO Bilgisayar programcılığı ve Mugla Sıtkı Koçman Üniversitesi İstatistik bölümünden mezun olmustur. Çesitli yerlerde web tasarımcı ve veri tabani yöneticisi olarak çalışan yazar, son üç senedir ingilizce öğretmenliği yapmaktadir. Şu anda yüksek lisansını tamamlamak üzere Mugla Üniversitesinde öğrenim görmektedir.