Çankaya Mühye Hayvan Barınağı Bağışçılarının Verisinin Tablo Haline Dönüştürülmesi

For English

Bir kaç ay önce R dersleri almaya başladım. Veri analizi için en büyük problem , girdi olan verinin standart bir formata sahip olmaması. Kuralların ve dolayısıyla denetimin olduğu yerlerde, formatsız veri bulma şansı (şanssızlığı artıyor). Ülkemizde, hayvana karşı işlenen suçlar adalet sarayının fare deliğinde bile kendine yer bulamamakta. Tecavüz mü ettin, helal olsun sana denilip toplum içine salınıyorsun. Hal böyle olunca, barınaklardan sorumlu kişileri de pek kimse kontrol etmiyor. Ne barınağa gelen-giden hayvanın kaydı tutuluyor, ne de o barınağa bağış yapan kişilerin kaydı sorgulanabilir şekilde kayıt altına alınıyor. Bunun en güzel örneği, Çankaya Belediyesi Mühye Barınağının web sayfası.. Bağışçılar, yapısal olmayan ve farklı formatlarda tutuluyor. Aşağıda ilk formatı ve son formatını göreceksiniz:
İlk
http://kuyruksuzbipolarpisi.blogspot.com.tr/p/bagisraw.html

Son:http://kuyruksuzbipolarpisi.blogspot.com.tr/p/namez-tarih-bagis-1-nalcabesmez-11.html

Son: (ilk 10 satır)
namez tarih bagis
>Murat Nalçabesmez 11.05.2014  2.5 kg Adolt goody Mama
MAT-TAV 10.05.2014  250 kg Tavuk Eti
Gökser Yasar 10.05.2014 21adet410gr Konserve Köpek Mamasi
MAT-TAV 09.05.2014  300 kg Tavuk Eti
Rabia Sen,Ekin Çaliskan,Nida Kuttas,Merve Demir 07.05.2014  8 adet 1lt Süt,5kg Köpek Mamasi Açik
Deniz Ünsal- Kargo 06.05.2014 Smart Dog 15 kg Kuru Köpek Mamasi
Çagla Jansel 04.05.2014  10 adet Konserve Mama
Pinar Karabudak 30.04.2014  30 Konserve Mama,4 adet10 kg Kutu Mama
Canan Sayin. Doga Ipek Sayin 29.04.2014  Goody 2.5 Kg Kuru Mama
Göksu Bilgiç 29.04.2014  Goody 2.5 kg Kuru Mama
Mat_Tav 28.04.2014  310 kg Tavuk Eti



Kendileri,

  • düzenli bağış yapanları
  • bağış tiplerini (aşı, mama, halıflex, altyapı malzemesi)
  • tarihlere göre bağış oranlarını
sorgulayamamakta ve liyakat planı oluşturamamakta..

Aşağıdaki kod, son derece kötü.. Demek istediğim, eğer datanızı düzgün tutarsanız, çok şey öğrenirsiniz.... Sorgulayabilirsiniz. Ki sonuçta ben Yunus Marketler zincirinin 1 ton tavuk bağışı yaptığını öğrendim....

Verilerinizin değerini bilmeniz dileğimle,

Format 1 - 2014 Name (Date) Donation
Murat Nalçabesmez(11.05.2014) 2.5 kg Adolt goody Mama
MAT-TAV(10.05.2014) 250 kg Tavuk Eti
Gökser Yaşar(10.05.2014)21adet410gr Konserve Köpek Maması
MAT-TAV(09.05.2014) 300 kg Tavuk Eti
Rabia Şen,Ekin Çalışkan,Nida Kuttaş,Merve Demir(07.05.2014) 8 adet 1lt Süt,5kg Köpek Maması Açık
Deniz Ünsal- Kargo(06.05.2014)Smart Dog 15 kg Kuru Köpek Maması
Format 2- Name-Substrings

Talatpaşa İÖO Hayvanları koruma kulübü (01.06.2011)
2 x 20 kg. köpek kuru maması
2 x 13,5 kg. köpek kuru maması
Fulya Aydın.Fatma Şahin (31.05.2011)
7,5 numara cerrahi eldiven
kutu non steril eldiven
kutu cerrahi maske

bagistodf<-function(){
  setwd("D:/Belgeler/Coursera")
  bagisfile<-readLines("bagis.txt",encoding="UTF-8")
  bagis201<-bagisfile[1:201]
  g<-function(x){x[2]}
  j<-function(x){x[3]}
  f<-function(x){x[1]}
  bagis201s<-strsplit(bagis201,"\\(|\\)")
  namez<-sapply(bagis201s,f)
  tarih<-sapply(bagis201s,g)
  bagis<-sapply(bagis201s,j)
  df<-data.frame(namez,tarih,bagis)
  write.table(df,"bagis333.csv",sep=",")
  head(df)






}
bagis202304<-function(){
  setwd("D:/Belgeler/Coursera")
  bagisfile<-readLines("bagis.txt",encoding="UTF-8")
  bagis304<-bagisfile[202:304]
  split<-strsplit(bagis304,"\\(|\\)")
  pattern<-"[0-9][0-9]\\.[0-9][0-9]\\.[0-9][0-9][0-9][0-9]"
  for (i in length(split):2){

    if (grepl(pattern,split[i])==FALSE && grepl(pattern,split[i-1])==FALSE) {
      split[[i-1]][[1]]<-paste(split[[i]][[1]],split[[i-1]][[1]],sep=";")}
    else if (grepl(pattern,split[i])==FALSE && grepl(pattern,split[i-1])==TRUE){
      split[[i-1]][[3]]<-split[[i]][[1]]
 
    }


  }
newsplit<-list()
  for(i in 1:length(split)) {
  if (length(split[[i]])>=3)
    newsplit[i]<-split[i]
}
class(newsplit)
newsplit<-newsplit[lapply(newsplit,is.null)==FALSE]
g<-function(x){x[2]}
j<-function(x){x[3]}
f<-function(x){x[1]}
namez<-sapply(newsplit,f)
tarih<-sapply(newsplit,g)
bagis<-sapply(newsplit,j)
df304<-data.frame(namez,tarih,bagis)
nrow(df304)
write.table(df304,"bagis333.csv",sep=",",append=TRUE)

}
bagis560685<-function(){

  setwd("D:/Belgeler/Coursera")
  bagisfile<-readLines("bagis2.txt",encoding="UTF-8")
  bagis685<-bagisfile[560:685]
  b6<-sub("\\?","\\%",bagis685)
  b6<-strsplit(b6,"\\(|\\)|\\%")
  # 83 ve 84 hatalı bölünmüş
  g<-function(x){x[2]}
  j<-function(x){x[3]}
  f<-function(x){x[1]}

  bagis<-sapply(b6,f)
  namez<-sapply(b6,g)
  tarih<-sapply(b6,j)
  df685<-data.frame(namez,tarih,bagis)
  df685
  write.table(df685,"bagis333.csv",sep=",",append=TRUE)
  }
bagis391539<-function(){


  setwd("D:/Belgeler/Coursera")
  bagisfile<-readLines("bagis2.txt",encoding="UTF-8")
  bagis539<-bagisfile[391:539]
  b539<-sub("\\?","\\%",bagis539)
  b539<-strsplit(b539,"\\%")
  g<-function(x){x[2]}

  f<-function(x){x[1]}
  bagis<-sapply(b539,f)
  namez<-sapply(b539,g)
  tarih<-rep("17.03.2013",length(b539))
  df539<-data.frame(namez,tarih,bagis)
  df539
  write.table(df539,"bagis333.csv",sep=",",append=TRUE)
}

bagis544559<-function(){
  setwd("D:/Belgeler/Coursera")
  bagisfile<-readLines("bagis2.txt",encoding="UTF-8")
  bagis559<-bagisfile[544:559]
  b559<-sub("\\?","\\%",bagis559)
  b559<-strsplit(b559,"\\%")
  g<-function(x){x[2]}

  f<-function(x){x[1]}
  bagis<-sapply(b559,f)
  namez<-sapply(b559,g)
  tarih<-rep("17.03.2013",length(b559))
  df559<-data.frame(namez,tarih,bagis)
  df559
  write.table(df559,"bagis333.csv",sep=",",append=TRUE)


}
bagis334340<-function(){

  setwd("D:/Belgeler/Coursera")
  bagisfile<-readLines("bagis2.txt",encoding="UTF-8")
  bagis340<-bagisfile[334:340]
  b340<-sub("\\?","\\%",bagis340)
  b340<-strsplit(b340,"\\(|\\)")

  g<-function(x){x[2]}
  j<-function(x){x[3]}
  f<-function(x){x[1]}

  bagis<-sapply(b340,f)
  tarih<-sapply(b340,g)
  namez<-sapply(b340,j)
  df340<-data.frame(namez,tarih,bagis)
  df340
  write.table(df340,"bagis333.csv",sep=",",append=TRUE)

}
bagis377388<-function(){

  setwd("D:/Belgeler/Coursera")
  bagisfile<-readLines("bagis2.txt",encoding="UTF-8")
  bagis388<-bagisfile[377:388]
  b388<-sub("\\?","\\%",bagis388)
  b388<-strsplit(b388,"\\(|\\)")

  g<-function(x){x[2]}
  j<-function(x){x[3]}
  f<-function(x){x[1]}

  bagis<-sapply(b388,f)
  tarih<-sapply(b388,g)
  namez<-sapply(b388,j)
  df388<-data.frame(namez,tarih,bagis)
  df388
  write.table(df388,"bagis333.csv",sep=",",append=TRUE)
}

Hiç yorum yok:

Yorum Gönder