Veri Okuma

Yaşam Bilimlerinde Veri Analizi

Emrah Kırdök, Ph.D.

2022-09-03

Veri Okuma

Metin dosyalarını okuma

Bilgisayardaki metin dosyalarını okumak için:

read.table(file, header = FALSE, sep = "", quote = "\"'",
           row.names, col.names, na.strings = "NA",
           stringsAsFactors = TRUE,
           dec = ".", comment.char = "#", ...)

İsterseniz yardım dosyaını okuyabilirsiniz read.table().

help(read.table)

Metin dosyalarını okuma

Bu fonksiyonun ardından bir veri çerçevesi elde edersiniz. Zorunlu argüman:

file
Okunacak dosyanın ismi

Diğer opsiyonlar

header
Eğer TRUE ise, dosyanın ilk satırı, sütun isimleri olarak kullanılır
sep
Sütunları ayırmak için kullanılan belirteç. Tab için "\t"

Diğer opsiyonlar

stringsAsFactors
TRUE ise metinler faktör olarak okunur

Bu opsiyonu FALSE seçerseniz metinler karakter olarak okunr

dec
Ondalık ayracı
Türkiye için dec=","

Örnek veri

Lütfen ders sistemine yüklenmiş sinif.txt dosyasını bilgisayarınıza indirip kaydedin.

örnek veri

Dosyayi okuyalım:

sinif <- read.table("../../data/sinif.txt", header=T)

Veriyi inceleyelim.

Sütunların seçimi

Veri çerçevelerinde her zaman sütun isimleri var:

colnames(sinif)
[1] "isimler"  "cinsiyet" "boy"      "kilo"     "el"      

Sütunların seçimi

Her sütun bir vektördür.

sinif$isimler
 [1] "bihter"  "melisa"  "adnan"   "behlul"  "gozde"   "zeynep"  "furkan" 
 [8] "firdevs" "kuzey"   "guney"  

Bazı satırları seçelim

Mesela solakları seçelim:

sinif$el=="sol"
 [1] FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE

(Dikkat edin == işaret karşılaştırma için kullanılır)

Bazı satırların seçimi

Hatırlarsak mantıksal karşılaştırma vektörlerini indis olarak kullanabiliyorduk:

sinif[sinif$el=="sol",]
  isimler cinsiyet  boy kilo  el
4  behlul    erkek 1.73   70 sol
6  zeynep    kadin 1.96   92 sol
7  furkan    erkek 1.62   60 sol

Kimler solak?

sinif[sinif$el=="sol", "isimler"]
[1] "behlul" "zeynep" "furkan"
sinif$isimler[sinif$el=="sol"]
[1] "behlul" "zeynep" "furkan"

İkisi de aynı sonucu verir.

Özet istatistikler

Metin dosyası okuma fonksiyonunu (read.table) her kullandığınızda:

summary(sinif)
   isimler            cinsiyet              boy             kilo       
 Length:10          Length:10          Min.   :1.580   Min.   : 60.00  
 Class :character   Class :character   1st Qu.:1.640   1st Qu.: 70.25  
 Mode  :character   Mode  :character   Median :1.720   Median : 76.00  
                                       Mean   :1.747   Mean   : 78.40  
                                       3rd Qu.:1.830   3rd Qu.: 88.75  
                                       Max.   :1.960   Max.   :100.00  
      el           
 Length:10         
 Class :character  
 Mode  :character  
                   
                   
                   

summary()

Sonuç, incelenen sütüna göre ;

Mesela boy vektörünün sonucu:

summary(sinif$boy)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.580   1.640   1.720   1.747   1.830   1.960 

Satır ve sütunlar

Satır sayısı:

nrow(sinif)
[1] 10

Hem satır hem de sütun sayısı:

dim(sinif)
[1] 10  5

Peki frekans hesaplayalım mı?

Seçeceğimiz bir vektördeki öğelerin frekanslarını hesaplayabiliriz:

table(sinif$el)

sag sol 
  7   3