【发布时间】:2019-10-22 01:39:46
【问题描述】:
我在尝试做一些我觉得很简单的事情时遇到了问题。
我有一个这样的数据集,年份跨度为 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(),但我一直收到错误:
错误:每行输出必须由唯一的键组合标识。
关于如何解决这个问题的任何想法?抱歉这个超级简单的问题!
提前致谢!
【问题讨论】:
-
两件事:这是一个常见错误,源于数据中存在重复项,因此不清楚哪些行应转换为哪些列。但是,如果没有看到您的代码,就不清楚您做了什么以及您是如何得到该错误的。我不确定你为什么需要
spread开始,因为你显示为你想要的输出不需要它 -
这是引发错误的代码:fireCount1998_2017 %>% spread(year, number)
-
我在一些关于如何实现我在问题空间中概述的预期结果的反复试验中使用了它。我知道实现结果可能不需要这种方法,但值得一提的是我已经尝试过的方法。关于如何实现我的结果的任何想法?