1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Intermediate R for Finance

Connected

cvičení

ifelse()

Funkce ifelse() je opravdu užitečná – zapíšeš podmínku na jediný řádek a navíc funguje na celé vektory!

Představ si, že máš vektor cen akcií. Chceš vrátit "Buy!" pokaždé, když apple > 110, a "Do nothing!" ve všech ostatních případech. Jednoduchý příkaz if by na to nestačil. S ifelse() to ale zvládneš takto:

apple
[1] 109.49 109.90 109.11 109.95 111.03 112.12

ifelse(test = apple > 110, yes = "Buy!", no = "Do nothing!")
[1] "Do nothing!" "Do nothing!" "Do nothing!" "Do nothing!" "Buy!"       
[6] "Buy!"

ifelse() vyhodnotí test a získá logický vektor. Všude, kde je hodnota TRUE, ji nahradí tím, co je v yes. Stejně tak FALSE nahradí hodnotou z no.

K dispozici máš datový rámec stocks.

Pokyny

100 XP
  • Pomocí ifelse() otestuj, jestli je micr větší než 60 a zároveň menší než 62. Pokud je podmínka splněna, vrať 1, jinak 0. Výsledek přidej do stocks jako sloupec micr_buy.
  • Pomocí ifelse() otestuj, jestli je apple větší než 117. Pokud je podmínka TRUE, vrať hodnotu ze sloupce date, jinak NA.
  • Vypiš stocks. Sloupec s datem se změnil na číslo! ifelse() před vrácením hodnoty odstraní atribut data, takže se z něj stane číslo.
  • Přiřaď sloupci apple_date třídu (class()) "Date".
  • Vypiš stocks znovu.