Böl-Uygula-Birleştir
Veri bilimi çalışmalarında sıkça karşılaşılan bir problem, bir veri çerçevesini bir gruplamaya göre bölmek, her gruba bir dönüşüm uygulamak ve sonra bu parçaları tekrar tek bir veri çerçevesinde birleştirmektir. R'de bu kadar yaygın bir problem sınıfı olduğu için buna split-apply-combine adı verilmiştir. Intermediate R for Finance dersinde, bu tür problemlerin ve onları çözerken işine yarayacak fonksiyonların birçoğunu keşfedeceksin; ama şimdi basit bir örnek yapalım.
Diyelim ki cash veri çerçevesi için, şirket A'nın cash_flow değerini iki katına, şirket B'ninkini ise üç katına çıkarmak istiyorsun:
grouping <- cash$company
split_cash <- split(cash, grouping)
# Her liste elemanının cash_flow sütununa şu şekilde erişebiliriz:
split_cash$A$cash_flow
[1] 1000 4000 550
split_cash$A$cash_flow <- split_cash$A$cash_flow * 2
split_cash$B$cash_flow <- split_cash$B$cash_flow * 3
new_cash <- unsplit(split_cash, grouping)
cash_flow sütununa nasıl eriştiğine tekrar bak. İlk $, split_cash listesinin A elemanına ulaşmak için. İkinci $ ise A içindeki veri çerçevesinin cash_flow sütununa erişmek için.
Bu egzersiz
Finans için R'ye Giriş
kursunun bir parçasıdırEgzersiz talimatları
split_cashveri çerçevesi senin için hazır. Ayrıca,cashi bölmek için kullanılangroupingde mevcut.- Listeye göz atmak için
split_cash'i yazdır. split_cashiçinde şirketBiçincash_flowsütununu yazdır.- Ne yazık ki, şirket A'nın iflas ettiğini öğrendin. Şirket A için
cash_flowdeğerini0yap. split_cashveri çerçevesiniunsplit()etmek içingrouping'i kullan. Bunucash_no_Adeğişkenine ata.- Son olarak, değiştirilmiş veri çerçevesini görmek için
cash_no_A'yı yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Print split_cash
# Print the cash_flow column of B in split_cash
split_cash$___$___
# Set the cash_flow column of company A in split_cash to 0
split_cash$___$___ <- ___
# Use the grouping to unsplit split_cash
cash_no_A <- unsplit(___, ___)
# Print cash_no_A