Логические векторы и 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
___