1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Úvod do R pro finance

Connected

cvičení

Split-Apply-Combine

Velmi častý problém v datové vědě spočívá v rozdělení datového rámce podle nějakého seskupení, aplikování transformace na každou skupinu a opětovném sloučení těchto částí do jednoho datového rámce. Tento postup je v R natolik běžný, že dostal vlastní název: split-apply-combine. V kurzu Intermediate R for Finance prozkoumáš celou řadu těchto problémů a funkcí, které ti s jejich řešením pomůžou. Zatím si ale ukážeme jednoduchý příklad.

Předpokládejme, že pro datový rámec cash chceš zdvojnásobit cash_flow pro společnost A a ztrojnásobit ho pro společnost B:

grouping <- cash$company
split_cash <- split(cash, grouping)

# We can access each list element's cash_flow column by:
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)

Všimni si, jak se přistupuje ke sloupci cash_flow. První $ slouží k přístupu k prvku A v seznamu split_cash. Druhé $ pak zpřístupní sloupec cash_flow datového rámce uloženého v prvku A.

Pokyny

100 XP
  • K dispozici máš datový rámec split_cash. Dostupné je také seskupení grouping, které bylo použito k rozdělení cash.
  • Vypiš split_cash, abys získal/a přehled o tomto seznamu.
  • Vypiš sloupec cash_flow pro společnost B ze seznamu split_cash.
  • Naneštěstí se ukázalo, že společnost A zkrachovala. Nastav cash_flow pro společnost A na 0.
  • Pomocí grouping aplikuj funkci unsplit() na datový rámec split_cash. Výsledek ulož do proměnné cash_no_A.
  • Nakonec vypiš cash_no_A, abys viděl/a upravený datový rámec.