0

私のデータは最初に次のようになりました。

year    company cars
2011    toyota  609
2011    honda   710
2011    ford    77
2011    nissan  45
2011    chevy   11
2012    toyota  152
2012    honda   657
2012    ford    128
2012    nissan  159
2012    chevy   322
2013    toyota  907
2013    honda   656
2013    ford    138
2013    nissan  270
2013    chevy   106
2014    toyota  336
2014    honda   957
2014    ford    204
2014    nissan  219
2014    chevy   282

トヨタとホンダのみに注目し、小規模な企業を「その他」としてグループ化したかったのです。私はコードを使用してdata$company[data$company != "toyota" & data$company != "honda"] = "other"、データセットを修正することができました.

year    company cars
2011    toyota  609
2011    honda   710
2011    other   77
2011    other   45
2011    other   11
2012    toyota  152
2012    honda   657
2012    other   128
2012    other   159
2012    other   322
2013    toyota  907
2013    honda   656
2013    other   138
2013    other   270
2013    other   106
2014    toyota  336
2014    honda   957
2014    other   204
2014    other   219
2014    other   282

このデータから、ggplot で積み上げ面グラフを生成したいと考えています。私はこのコードを使用します:

ggplot(data, aes(x=year,y=cars, fill=company)) + geom_area())

同じ年の「その他」の複数のインスタンスをグループ化して合計したいと思います。つまり、2014 年の 3 つの「その他」(204、219、および 282) は合計され、705 としてプロットされます。ただし、私のプロットでは、代わりに、次のようにチャートに奇妙な空白が残ります。

ここに画像の説明を入力

積み上げ面プロットを生成して、項のグループ化と合計を行う方法を知っている人はいますか?

4

1 に答える 1

1

最初にデータを集計する必要があります。

library(ggplot2)

df_agg <- aggregate(cars ~ year + company, data = df, sum)

ggplot(df_agg, aes(x = year, y = cars, fill = company)) +
  geom_area()
于 2016-02-04T02:24:00.667 に答える