Распространение не будет работать? Ошибка: каждая строка вывода должна быть идентифицирована уникальной комбинацией клавиш - PullRequest
0 голосов
/ 22 октября 2019

У меня возникла проблема с попыткой сделать что-то, что, на мой взгляд, довольно просто.

У меня есть такой набор данных, за период с 1998 по 2017 год, штаты - это штаты в Бразилии, затем в спискеколичество пожаров в месяц:

year state month     number
<int> <fct> <fct>      <dbl>
1998 Acre  January        0
1998 Acre  February       0
1998 Acre  March          0
1998 Acre  April          0
1998 Acre  May            0
1998 Acre  June           3
1998 Acre  July          37
1998 Acre  August       130
1998 Acre  September    509
1998 Acre  October       44

, и я хочу изменить его на широкоформатный, чтобы в нем были указаны год и общее количество за год без информации о месяце и состоянии, чтобы я мог сделатьграфик тренда за период. Я предполагаю, что данные будут такими:

year number
1998 (count)
1999 (count)
2000 (count)

Я не использовал R в течение некоторого времени и немного устала от манипуляций с данными, я пробовал кучу вещей, таких как spread() иgroup_by() вместе, но я получаю сообщение об ошибке:

Ошибка: каждая строка вывода должна быть идентифицирована уникальной комбинацией клавиш.

Любые идеи относительнокак я могу пойти по этому поводу? Извините за супер простой вопрос!

Заранее спасибо!

1 Ответ

0 голосов
/ 22 октября 2019

Предположим, ваши данные выглядят примерно так:

x <- tibble::tribble(
  ~year, ~state,   ~month, ~number,
   1998, "Acre",   "January", 0,
   1998, "Acre",  "February", 0,
   1998, "Acre",     "March", 0,
   1998, "Acre",     "April", 0,
   1998, "Acre",       "May", 0,
   1998, "Acre",      "June", 3,
   1998, "Acre",      "July", 37,
   1998, "Acre",    "August", 130,
   1998, "Acre", "September", 509,
   1998, "Acre",   "October", 44
  )

Чем вы можете использовать:

x %>% dplyr::group_by(year) %>% dplyr::summarise(number = sum(number))
...