Создание таблицы для потоковой передачи - PullRequest
0 голосов
/ 08 февраля 2020

Привет, ребята. Я пытаюсь построить потоковую диаграмму, используя данные по следующей ссылке: https://www.kaggle.com/START-UMD/gtd. Моя цель состоит в том, чтобы транслировать частоту террористических атак для каждой террористической группы переменной gname, но моя проблема в том, что я не знаю, как фильтровать фрейм данных, чтобы иметь все параметры, необходимые для построения потокового графа, которые data, key, value, date.

Я попытался добраться до этого подмножества исходного кадра данных, используя следующий код

str <- terror %>%
    filter(gname != "Unknown") %>%
    group_by(gname) %>%
    summarise(total=n()) %>%
    arrange(desc(total)) %>%
    head(20)

Но все, что я удалось получить это частота атак для каждой террористической группы, без получения количества атак за каждый год. Не могли бы вы предложить какой-нибудь способ сделать это? Это было бы удивительно! Спасибо, что читаете парней и за помощь.

1 Ответ

1 голос
/ 08 февраля 2020

Дарио и Кент правы. Вам нужно добавить переменную iyear в функцию group_by:

terror %>%
  filter(gname != "Unknown") %>%
  group_by(gname, iyear) %>%
  summarise(total=n()) %>%
  arrange(desc(total)) %>%
  head(20) -> str
str
    # A tibble: 20 x 3
    # Groups:   gname [7]
       gname                                           iyear total
       <chr>                                           <int> <int>
     1 Islamic State of Iraq and the Levant (ISIL)      2016  1454
     2 Islamic State of Iraq and the Levant (ISIL)      2017  1315
     3 Islamic State of Iraq and the Levant (ISIL)      2014  1249
     4 Taliban                                          2015  1249
     5 Islamic State of Iraq and the Levant (ISIL)      2015  1221
     6 Taliban                                          2016  1065
     7 Taliban                                          2014  1035
     8 Taliban                                          2017   894
     9 Al-Shabaab                                       2014   871
    10 Taliban                                          2012   800
    11 Taliban                                          2013   775
    12 Al-Shabaab                                       2017   570
    13 Al-Shabaab                                       2016   564
    14 Boko Haram                                       2015   540
    15 Shining Path (SL)                                1989   509
    16 Communist Party of India - Maoist (CPI-Maoist)   2010   505
    17 Shining Path (SL)                                1984   502
    18 Boko Haram                                       2014   495
    19 Shining Path (SL)                                1983   493
    20 Farabundo Marti National Liberation Front (FML~  1991   492

Затем отправить это на потоковый график:

str %>% streamgraph("gname", "total", "iyear")

Мне всегда было трудно комментировать эти графики, поскольку Я знаю, это должно было быть сделано вручную:

str %>% streamgraph("gname", "total", "iyear") %>%
  sg_annotate(label="ISIL", x=as.Date("2016-01-01"), y=1454, size=14)

enter image description here

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