Я работаю с некоторыми биржевыми данными и столкнулся с проблемой некоторых аспектов очистки моих данных.
Поскольку у меня есть данные по большинству крупнейших акций США, я хочу избавиться от всех акций, если
- цена акции в последний день составляет менее 25 долларов (только некоторые из них составляют #)
Как бы мне было написать код, желательно без использования цикла for?
Например - скажем, у меня есть набор данных ниже:
Date ID EOD_Price
2/1/10 AAPL 45.1
2/2/10 AAPL 45.3
2/3/10 AAPL 45.1
... ... ...
2/1/10 JXL 2.6
2/2/10 JXL 2.5
2/3/10 JXL 2.8
... ... ...
2/1/10 RXW 26.5
2/2/10 RXW 25.9
2/3/10 RXW 24.9
... По сути, мой результат будет включать только все данные для AAPL, поскольку цена на последнюю дату (3/3/10) составляет> 25.
Есть идеи, как это сделать?
приведенный ниже код - это то, что, как я думал, даст последние obs для каждой акции, которые затем я могу использовать в цикле for для поднабора, может быть (я не слишком уверен):
data %>% group_by(ID) %>% tail(EOD_Price, n=1)
, но это дает только последнее значение для последних объектов в наборе данных.
Пожалуйста, сообщите. Я просто хочу сохранить идентификаторы, которые стоят> 25 долларов в последний день.
Большое вам спасибо! Продолжайте учиться!