Q: R for-loop и tibble - PullRequest
       10

Q: R for-loop и tibble

1 голос
/ 19 марта 2019

У меня есть набор данных 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...