Ana içeriğe atla

R ile Veri Analizinde Tematik Harita Kullanımı

 R ile Veri Analizinde Tematik Harita Kullanımı
Geçenlerde SparkR ile veri analizi ve modellemesi konusunda hazırladığım bir tutorial ı sizlerle paylaşmıştım. Orada harita kullanarak veri analizi yapma konusunda bir örnek vermiştim. Bu yazıda konuyu biraz daha açacağım. Yazdığım kodlara ve kullandığım verilere github hesabım dan erişebilirsiniz.
Öncelikle Tematik Harita nedir? ile başlayalım. İngilizce kelimeler Geographic Map ile tema veya konu anlamına gelen Theme kelimelerinin bir bileşimini ifade eder. Belli bir konu veya temayı baz alan haritalara verilen genel bir isimdir. Anlatımı somutlaştırmak için yakın zamanda ülkemizde yapılan seçimleri ele alacağız. Partilerin Türkiye genelinde aldıkları oy verilerini alarak, hem seçimlerde partilerin güçlü yada zayıf oldukları illeri harita üzerinde söze gerek kalmadan göstereceğiz, hem de ardışık iki seçim arasındaki alınan sonuçları herbir parti için yan yana haritada göstererek üzerinden analiz yapılacak bir metaryel üreteceğiz.

Temel Adımlar

  1. Haritada göstermek istediğimiz veriyi R dilini kullanarak hazırlayacağız.
  2. Harita dosyamızı NaturalEarthData sitesinden aldığımız veri ile oluşturacağız. Aldığımız dosya dünyanın bütün ülkelerini kapsayacak, bunun için R dilinin TMap kütüphanesini kullanarak Türkiye yi filtreleyeceğiz.
  3. Harita dosyasını oluşturduğumuz veri dosyası ile birleştireceğiz,
  4. Harita ve verinin birlikte bulunduğu data.frame formatındaki veri yapısı ile tematik haritalarımızı oluşturacağız.

Veri hazırlığı

Haziran 2015 ve Kasım 2015 tarihlerinde Türkiye de yapılan seçimlerin sonuçlarını wikipedia dan aldım. Bir excel dosyası olarak iki ayrı sheet e istediğim formatta koydum. Burada önemli olan harita verisi ile birleştirmeyi düşündüğüm için iki veri setinin ortak bir alanı olmasıdır. Burada il isimlerini aldım. Bazı kontroller yapmanızda fayda var.

Harita Dosyasının Hazırlanması

Değişik harita dosya formatları vardır ve bunlardan ençok kullanılanlarından birisi olan Shapefile dosya formatına sahip dosyaları kullanacağız. Ben harita dosyamı NaturalEarthData sitesinden seçtim. Siz bildiğiniz alternatiflerden faydalanabilirsiniz. Bu zipli bir dosya ve bütün dünya ülkelerini içeriyor. R dilini ve TMap kütüphanesini kullanarak Türkiye yi filtreledim.

Harita ve Veri Dosyasının Birleşitirlmesi

İki dosya hazır olduktan sonra bunları tek bir dosya haline getirdim. Burada dosyamız SpatialPolygonsDataFrame olarak tutuluyor. Üstteki kodun son satırında bu işlemi yapıyoruz.

Tematik Harita Analizi

Artık hazırladığımız dosyayı kullanarak işlemlere başlayabiliriz. Basit bir örnek ile başlayalım.
  • Boş bir Türkiye haritası
tm_shape(MyWorldMapTurDATA) + tm_fill("Red") + tm_borders(alpha=.5)
  • Türkiye de il bazında milletvekili dağılımı
  • Meclise giren dört partinin Haziran ve Kasım 2015 seçimlerinde aldığı oy oranları harita üzerinde gösterimi için bir R fonksiyonu yazıyoruz. Her bir parti için bu fonksiyonu kullanarak haritaları elde ediyoruz.

Sonuç

Haritalara bakarak her bir parti için iki seçim arasındaki farkı analiz etmek, bir tablo veya çubuk ve benzeri grafik kullanarak yapılabilecek analizlerden daha basit ve kolay sonuçlar veriyor. En güzeli de, araya bir analistin girmesine gerek kalmadan doğrudan karar vericinin karar almasına yardımcı olabilmesi.

Yorumlar

LTETURK dedi ki…
MyWorldMap <- read_shape("./rdatasets/ne_10m_admin_1_states_provinces.shp") bende çalışmadı..
"read_shape" nereden geldi acaba ?
Teşekkürler,
LTETURK dedi ki…
Tamamdır. Yanlışımı buldum.
Teşekkürler,

Bu blogdaki popüler yayınlar

SAS Nedir?

Anthony Barr, James Goodnight, John Sall ve Jane Helwig isimli dört kişi tarafından 1976 yılında Statistical Analysis System i smi ile kurulan fakat yazılım alanında ürettiği ürünlerle bu sınırları aşan SAS (SAS Institute) günümüzde borsaya açık olmayan dünyanın en büyük yazılım şirketlerinin başında geliyor. Hiç kuşkusuz bu dörtlüden en önemlisi, Harvard Business School tarafından* 20 inci yüzyılın en önemli iş liderleri listesinde gösterilen ve aynı zamanda şirketin CEO su olan James "Jim" Goodnight dır. İstatistik alanında doktorası olan Goodnight ayrı bir yazı konusu olmayı hakeden renkli bir kişilik. SAS denince ilk akla gelen öncelikle istatistik ve iş zekası alanlarında marketin önemli oyuncularının başında gelen ve "Bilmenin gücü (Power to know)" nü uzun yıllardır müşterilerinin hizmetine sunan Amerika Kuzey Karolayna merkezli dev bir yazılım şirketi olduğudur. Detaylarda ise genetik, tarım, finans, telekom, uzay, ilaç, kimya, bankacılık gibi birçok farkl...

Veri kalitesi işlemlerinde bulanık mantığın (Fuzzy logic) kullanılması

Bulanık mantık (Fuzzy Logic) üzerine 1995 yılında bitirdiğim yüksek lisans tezinde, bulanık mantık ile çalışan bir uzman sistem yapmıştım. O zamanlar bulanık mantık, bilişim teknolojileri alanında yeni yeni emekleme dönemindeydi. Özellikle veritabanlarında bilgi keşfi çalışmaları için kullanılması yönünde oldukça çok akademik çalışma yapılmaktaydı. Günümüzde Bilgi Teknolojileri (BT) sektöründe bulanık mantık dahil diğer bilgi belirsizliği modellerini, BT profesyonelleri "kullanıyor" dememiz zor. Fakat en zor alanlardan biri olan ve gün geçtikçe önemi artan veri kalitesinin arttırılması konusunda yapılan çalışmalarda, bulanık mantık terimi oldukça sık ismi geçen bir terim haline geldi. Bu nedenle yazımızın konusu bu terimin genel anlamından çok veri kalitesinde kullanımı konusunda olacak. Veri kalitesi çalışmalarında fuzzy logic kelimelerini ilk duyduğumda kelimelerin bulanık küme teorisinde kullanılması geldi. Örneğin; çok gürültülü kelimesinin bulanık kümesinin kurulmas...

Katılımcı bir dünya

Bugün Devveri.com da okuduğum “ data driven kavramı ve II.faz ” yazısı, yazılım ile çözüm üretme anlayışındaki değişimi bir yönü ile ele alıyor. Ben de başka bir yönü ile aynı konuya bakıyorum ve Ayhan Demirci’nin çizdiği resmi biraz daha tamamladığımı düşünüyorum. Ayhan yazıda SAS ile ilgili örnekler verdiği için, ben de benzer şekilde ilerleyeceğim. İş dünyasının problem çözmede kullandığı temel araçlar olan bilgisayarların mimarisi 1990 lı yılların sonlarından itibaren inanılmaz bir değişim geçirdi. Sıradan bilgisayarların bile çok çekirdekli bir mimariye sahip olabilmesi, konvansiyonel programlama ile ulaşılan çözümlerin sonunu getirdi. Sebep basitti, iki çekirdek bir çekirdekten üstündü ve normal programlama dilleri ile üretilen çözümler tek çekirdeği kullanıyordu. Java gibi diller thread ler vasıtası ile paralel programlama  yapmayı sağlayarak diğer çekirdekleri de kullanmaya fırsat tanıyorlardı. Ne var ki çok zor bir programlama şekli olduğu için çok az...