R'de Ölçeklenebilir Veri İşleme
Michael Kane
Assistant Professor, Yale University
split()Map()Reduce()split() fonksiyonu veriyi bölümlere ayırır
data.framefactor veya integer# 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
Map() fonksiyonu bölümleri işler
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 # ...
Reduce() fonksiyonu tüm bölümlerin sonuçlarını birleştirir
# 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