Böl-Uygula-Birleştir

R'de Ölçeklenebilir Veri İşleme

Michael Kane

Assistant Professor, Yale University

Böl-Uygula-Birleştir

  • Böl: split()
  • Uygula: Map()
  • Birleştir: Reduce()
R'de Ölçeklenebilir Veri İşleme

split() ile bölümlere ayır

split() fonksiyonu veriyi bölümlere ayırır

  • İlk argüman bölünecek vektör veya data.frame
  • İkinci argüman bölümleri tanımlayan factor veya integer
R'de Ölçeklenebilir Veri İşleme
# mortgage verisindeki her yılın satırlarını al
 year_splits <- split(1:nrow(mort), mort[,"year"])
# year_splits bir listedir
class(year_splits)
"list"
# Bölündüğümüz yıllar
names(year_splits)
"2008" "2009" "2010" "2011" "2012" "2013" "2014" "2015"
# 2010 yılına karşılık gelen ilk birkaç satır
year_splits[["2010"]][1:10]
1  6  7 10 21 23 24 27 29 38
R'de Ölçeklenebilir Veri İşleme

Map() ile hesapla

Map() fonksiyonu bölümleri işler

  • İlk argüman her bölüme uygulanacak fonksiyon
  • İkinci argüman bölümlerin kendisi
R'de Ölçeklenebilir Veri İşleme

Map() ile hesapla

col_missing_count <- function(mort) {
   apply(mort, 2, function(x) sum(x == 9))} 
# Her yıl için tüm sütunlarda kaç eksik değer var, say
missing_by_year <- Map(
   function(x) col_missing_count(mort[x, ]),
   year_splits)

missing_by_year[["2008"]]

enterprise record_number msa 0 12 0 # ...
R'de Ölçeklenebilir Veri İşleme

Reduce() ile birleştir

Reduce() fonksiyonu tüm bölümlerin sonuçlarını birleştirir

  • İlk argüman birleştirmede kullanılacak fonksiyon
  • İkinci argüman bölünmüş veri
R'de Ölçeklenebilir Veri İşleme
# Sütun başına toplam eksik değerleri hesapla
Reduce(`+`, missing_by_year)
enterprise         record_number                   msa 
         0                    64                     0 
# ... 
# Satır adlarını yıl ile etiketle
mby <- Reduce(rbind, missing_by_year)
row.names(mby) <- names(year_splits)
mby[1:3, 1:3]
     enterprise record_number msa
2008          0            12   0
2009          0             8   0
2010          0            10   0

R'de Ölçeklenebilir Veri İşleme

Hadi pratik yapalım!

R'de Ölçeklenebilir Veri İşleme

Preparing Video For Download...