【问题标题】:ggplot2, I get an error saying 'Each group consists of only one observation.'ggplot2,我收到一条错误消息,提示“每个组仅包含一个观察值。”
【发布时间】:2015-03-22 03:11:52
【问题描述】:

我看到有其他问题与相同的问题,但我不明白为这些问题列出的解决方案。

我的问题是我使用 dplyr 包将数据框按 Year 列分组,然后我使用 dplyr 包的 summarized 函数对两个不同的列求和。现在我正在尝试使用 ggplot2 包来绘制一年的总和列之一,但我不断收到错误

geom_path: Each group consist of only one observation. 
Do you need to adjust the group aesthetic?

我制作情节的代码是

g <- ggplot(data, aes(Year, Fatalities)) + geom_line()

那么我到底做错了什么,我不明白为什么错误显示geom_path,我的代码中什至没有那个参数,当我在我的代码中添加geom_path() 时,会弹出同样的错误两次。

编辑:这是数据框顶部的样子:

 Year     Fatalities    Injuries 
1 1950          70        659 
2 1951          34        524 
3 1952         230       1915 
4 1953         519       5131 
5 1954          36        715 
6 1955         129        926 

【问题讨论】:

  • 我刚刚添加了数据的样子

标签: r ggplot2 dplyr


【解决方案1】:

在函数geom_line()中你需要在函数aes()中添加参数组

例子

ggplot(df, aes(year, Observations))+geom_line(aes(colour=type, group=type))

这将数据按变量类型分组,如果没有此设置,它会向我发送与您相同的错误,这会更改数据,因此每个点都不是一种不同的观察方式,并且不可能将它们与一条线联系起来。

如果您不需要多行,请尝试再添加一列,其中所有观察值都具有相同的值(例如“Set”)并通过该变量设置组参数。

【讨论】:

  • 所以当我将更改后的 geom_line() 添加到 geom_line(group = 'character') 时,您的代码有效,但我仍然想知道为什么我必须这样做,你的意思是每个点都是不同类型的观察除非我将group 参数添加到geom_line()?
猜你喜欢
  • 2021-11-11
  • 2021-11-20
  • 2011-02-03
  • 1970-01-01
  • 2021-08-31
  • 2018-05-23
  • 2015-01-20
相关资源
最近更新 更多