кластерное моделирование распределения по дате - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть следующее распределение тем по времени:

doc. topic distribution over time

Я пытаюсь создать кластеры времени в соответствии с распределением тем.,например, интуитивно можно сказать, что есть кластер в 2012–2013 годах, когда начальная тема topic_005, а другой - в период 2017–2018 годов, когда распределение завершено.

Мои данные уже представлены как распределение (%) с течением времени, как это(3-й фильтр предназначен для упрощения вывода для этого вопроса и поэтому использует годы в качестве единицы времени):

library(tidyverse) # for the pipe operator and other functions used in this code 
   topic_scores_tidy %>% 
      filter( !is.na(fecha) ) %>%
      filter( score > 0.3 ) %>%  
      filter( topic %in% c("topic_001","topic_004","topic_009")  ) %>% 
      group_by( date = floor_date(fecha, unit = "year"),topic) %>%
      summarize(n=n()) %>%
      mutate( percFreq = n / sum(n)) %>% 
      spread( topic, percFreq )

# A tibble: 10 x 5
# Groups:   date [6]
   date           n topic_001 topic_004 topic_009
   <date>     <int>     <dbl>     <dbl>     <dbl>
 1 2011-01-01     1     1        NA        NA    
 2 2014-01-01     2     1        NA        NA    
 3 2015-01-01     2     0.5       0.5      NA    
 4 2016-01-01     4    NA         0.308     0.308
 5 2016-01-01     5     0.385    NA        NA    
 6 2017-01-01    11    NA        NA         0.297
 7 2017-01-01    13     0.351     0.351    NA    
 8 2018-01-01     6     0.182    NA        NA    
 9 2018-01-01     8    NA         0.242    NA    
10 2018-01-01    19    NA        NA         0.576

Не уверен, как будет выглядеть вывод, но я предполагаю, что это должно быть что-то вроде диапазонов дат.

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