Vektorizované operace
Koncept relačních operátorů lze rozšířit na vektory libovolné délky. Porovnáš-li dva vektory pomocí >, dostaneš logický vektor stejné délky – s hodnotou TRUE tam, kde je první hodnota větší než druhá, a FALSE jinak.
apple <- c(120.00, 120.08, 119.97, 121.88)
datacamp <- c(118.5, 124.21, 125.20, 120.22)
apple > datacamp
[1] TRUE FALSE FALSE TRUE
Funguje to i při porovnávání vektoru s jediným číslem – R číslo automaticky „recykluje" na délku vektoru:
apple > 120
[1] FALSE TRUE FALSE TRUE
Představ si, jak se to dá využít jako nákupní/prodejní signál při analýze akcií! K dispozici máš datový rámec stocks.
Toto cvičení je součástí kurzu
Intermediate R for Finance
Pokyny k cvičení
- Vypiš
stocks. - Chceš koupit
ibm, jakmile cena klesne pod175. Pomocí$vyber sloupecibma logickým operátorem zjisti, kdy k tomu dochází. Výsledek přidej dostocksjako sloupecibm_buy. - Pokud
panerapřekročí hodnotu213směrem nahoru, prodej. Logickým operátorem zjisti, kdy k tomu dochází. Výsledek přidej dostocksjako sloupecpanera_sell. - Je
ibmněkdy vyšší nežpanera? Výsledek přidej dostocksjako sloupecibm_vs_panera. - Vypiš
stocks.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Print stocks
___
# IBM range
___$___ <-
# Panera range
___$___ <-
# IBM vs Panera
___$___ <-
# Print stocks
___