Векторизованные операции
Концепцию реляционных операторов можно распространить на векторы произвольной длины. При сравнении двух векторов с помощью > вы получите логический вектор той же длины: TRUE — там, где первый элемент больше второго, и FALSE — в остальных случаях.
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
Сравнение вектора с одним числом тоже работает. R автоматически «растянет» число до длины вектора:
apple > 120
[1] FALSE TRUE FALSE TRUE
Представьте, как это можно использовать в качестве сигнала для покупки или продажи при анализе акций! Для выполнения задания вам доступен фрейм данных stocks.
Это упражнение является частью курса
Средний уровень R для финансов
Инструкции к упражнению
- Выведите
stocks. - Вы хотите покупать акции
ibm, когда их цена опускается ниже175. С помощью$выберите столбецibmи примените логический оператор, чтобы определить такие моменты. Добавьте результат вstocksкак столбецibm_buy. - Если
paneraподнимается выше213, нужно продавать. Используйте логический оператор, чтобы определить эти моменты. Добавьте результат вstocksкак столбецpanera_sell. - Бывает ли
ibmкогда-либо вышеpanera? Добавьте результат вstocksкак столбецibm_vs_panera. - Выведите
stocks.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Print stocks
___
# IBM range
___$___ <-
# Panera range
___$___ <-
# IBM vs Panera
___$___ <-
# Print stocks
___