У меня есть набор данных tibble в R. Tibble Daily.log имеет 13 переменных и 3 924 849 наблюдений.В таблице содержатся данные о криптоактивах с 2013-12-27 по 2019-01-31.Цель состоит в том, чтобы выяснить, в какие криптоактивы я бы инвестировал в период между 2015-01-01 и 2018-12-31.
Переменные Tibble:
name;Дата;ranknow;открыть;высоко;низкий;близко;объем;рынок;close_ratio;распространяться;значение;вернуть.name = chr, date = date, а все остальные = числовые.
Имя переменной отсортировано в алфавитном порядке:
Значение Daily.log [1: 1861,] представляет первый актив (2013-12-27 до 2019-01-31), тогда как Daily.log [1862: 3722,] представляет второй актив (2013-12-27 до 2019-01-31) и т. Д. ...
ограничения в отношении инвестиций следующие:
Крипто-актив должен быть продан за последние 365 дней.Из тех, которые удовлетворяют этому требованию, выберите те 20 с наибольшим средним объемом за последние 183 дня.
Для 2015-01-01 я сделал это следующим образом:
k <- 20
names <- Daily.log %>%
filter(date<="2014-12-31") %>%
filter(!is.na(return)) %>%
summarise(nonNAs = sum(!is.na(return))) %>%
filter(nonNAs>=365) %>%
arrange(desc(nonNAs)) %>%
.$Name
names.20150101 <- Daily.log %>%
filter(date>="2014-07-02", date<="2014-12-31") %>%
filter(name %in% names) %>%
group_by(name) %>%
summarise(volume=mean(volume,na.rm=TRUE)) %>%
arrange(desc(volume)) %>%
slice(1:k) %>%
.$name
ОднакоЯ должен применять это для каждого дня между 2015-01-01 и 2018-12-31.-> Идите вперед день за днем.Цель состоит в том, чтобы получить все имена, в которые я когда-либо был инвестирован в течение этого временного горизонта.Имена в 2015-01-02, 2015-01-03 до 2018-12-31.
Кто-нибудь имел дело с такой проблемой и есть решение, чтобы продолжить цикл for?