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

Логические векторы и subset()

Попробуйте решить интересную задачу. Вы уже умеете создавать логические векторы, которые указывают, когда выполняется то или иное условие, — но можете ли вы отфильтровать датафрейм так, чтобы оставить только строки, удовлетворяющие этому условию?

Если вы проходили курс «Введение в R для финансов», возможно, вы помните функцию subset(). Она принимает в качестве аргументов датафрейм (или вектор/матрицу) и логическое условие, определяющее, какие строки нужно вернуть:

stocks
        date    ibm panera
1 2017-01-20 170.55 216.65
2 2017-01-23 171.03 216.06
3 2017-01-24 175.90 213.55
4 2017-01-25 178.29 212.22

subset(stocks, ibm < 175)
        date    ibm panera
1 2017-01-20 170.55 216.65
2 2017-01-23 171.03 216.06

Удобно, не правда ли? Датафрейм stocks доступен для работы.

Это упражнение является частью курса

Средний уровень R для финансов

Посмотреть курс

Инструкции к упражнению

  • Отфильтруйте stocks, оставив строки, в которых значение panera больше 216.
  • Отфильтруйте stocks, чтобы получить строку, в которой date равно "2017-01-23". Не забудьте про as.Date()!
  • Отфильтруйте stocks, чтобы получить строки, где ibm меньше 175, а panera меньше 216.50.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Panera range
___

# Specific date
___

# IBM and Panera joint range
___
Редактировать и запускать код