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