НачатьНачать бесплатно

Векторизованные операции

Концепцию реляционных операторов можно распространить на векторы произвольной длины. При сравнении двух векторов с помощью > вы получите логический вектор той же длины: 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
___
Редактировать и запускать код