BaşlayınÜcretsiz Başlayın

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ır
Kursu Görüntüle

Egzersiz talimatları

  • split_cash veri çerçevesi senin için hazır. Ayrıca, cashi bölmek için kullanılan grouping de mevcut.
  • Listeye göz atmak için split_cash'i yazdır.
  • split_cash içinde şirket B için cash_flow sütununu yazdır.
  • Ne yazık ki, şirket A'nın iflas ettiğini öğrendin. Şirket A için cash_flow değerini 0 yap.
  • split_cash veri çerçevesini unsplit() etmek için grouping'i kullan. Bunu cash_no_A değ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
Kodu Düzenle ve Çalıştır