Začněte nyníZačněte zdarma

Když zjednodušení selže

Pro interaktivní použití je sapply() skvělá volba. Automaticky odhadne typ výstupu a podle toho ho zjednoduší – a většinou to funguje bez problémů. Při psaní vlastních funkcí ale sapply() není bezpečná volba. Pokud sapply() nedokáže výstup zjednodušit, vrátí seznam stejně jako lapply(). To může být záludné a rozbít vlastní funkce, pokud jsi počítal/a s tím, že sapply() vrátí zjednodušený vektor.

Podívejme se na cvičení se seznamem obsahujícím informace o burzovním krachu v roce 2008.

Toto cvičení je součástí kurzu

Intermediate R for Finance

Zobrazit kurz

Pokyny k cvičení

Seznam market_crash je pro tebe připravený.

  • Pomocí sapply() zjisti class() každého prvku v market_crash.


Byl vytvořen nový seznam market_crash2. Rozdíl spočívá ve způsobu vytvoření data!

  • Pomocí lapply() zjisti class() každého prvku v market_crash2.
  • Pomocí sapply() zjisti class() každého prvku v market_crash2.


Položka date v market_crash2 má více tříd. Proč sapply() nedokázala výstup zjednodušit?

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Market crash with as.Date()
market_crash <- list(dow_jones_drop = 777.68, 
                     date = as.Date("2008-09-28"))
                     
# Find the classes with sapply()
___

# Market crash with as.POSIXct()
market_crash2 <- list(dow_jones_drop = 777.68, 
                      date = as.POSIXct("2008-09-28"))

# Find the classes with lapply()
___

# Find the classes with sapply()
___
Upravit a spustit kód