10 Aralık 2015 Perşembe

Factor nitelikteki kolonları numeric nitelikli kolonlara dönüştürmek (R & RStudio)

0 Yorum
Factor nitelikteki kolonları numeric nitelikli sütun/kolonlara dönüştürmek (R & RStudio)

Çoğu zaman acelemiz vardır ve elimizdeki işleri hemen bitirmek isteriz fakat işler istediğimzi gibi gitmez. Mevcut verilerimiz sadece numeric/sayısal kolonlardan oluşmasına rağmen, basit bir şekilde okunması gereken veriler, okunmaz.

Sayısal yükseklik haritası(DEM) oluşturmak için kullanacağım bir verisetini hiç bir suretle ArcGIS, QGIS, GRASS GIS ve R programlarına okumamaktadır. Üç kolondan sonuncusunu her daim factor, olarak okur ya da hiç bir şekilde listelemez.

Elimdeki verilerinde 113000 civarı satırdan ve 3 sütundan oluşuyor. Ayrıca aralarda belirli boşluklar dikkat çekmiyor değil. Bu boşluklar için bir "for" döngüsü yazmaktansa dosyayı yüklerken kullanacağımız bir kaç komut yardımıyla bu işin üstesinden gelebiliriz.

Programlama bilginiz başlangıç seviyesinde ise bu tür sorunlardan kurtulmak için aşağıdaki yol izlenilebilir.

Bu tip problemleri çözmek için izlenmesi gereken adımlar :



dem_veriseti  <- read.csv("xyz_LatLong_pozitif.csv", header = T, stringsAsFactors = FALSE)
# verisetindeki ondalık işaret ayıracı "." (nokta) olarak olduğundan read.csv

str(dem_veriseti)  # data yapısı kontrolu
'data.frame': 113555 obs. of  3 variables:
 $ X    : num  40.5 40.5 40.5 40.5 40.5 ...
 $ Y    : num  28.7 28.7 28.7 28.7 28.7 ...
 $ Depth: chr  "67.308" "67.966" "68.065" "68.068" 

dem_veriseti$Depth <- as.numeric(dem_veriseti$Depth)

Warning message:
  NAs introduced by coercion
na.omit(dem_veriseti$Depth)   #NA degerlerini veriden cikarir

dem_veriseti$Depth <- as.numeric(dem_veriseti$Depth)  #Depth kolonunu numeric yapar
str(dem_veriseti) # data yapısı kontrolu

'data.frame': 113555 obs. of  3 variables:
 $ X    : num  40.5 40.5 40.5 40.5 40.5 ...
 $ Y    : num  28.7 28.7 28.7 28.7 28.7 ...
 $ Depth: num  67.3 68 68.1 68.1 68.2 ...

write.csv(dem_veriseti, file = "dem_latlong.csv")    #Yeni formatın çıktısı         


Not : Elimdeki 113000 satır veri grubunun arasında boş satırlar olduğundan böyle bir yöntem uyguladım. Daha kolay ya da farklı yollar olduğuna şüphem yok.

Sefa Şahin

Comments
Related Posts Plugin for WordPress, Blogger...