如何根据同一年汇总(添加)一列并在 R 中绘制?

数据挖掘 r 可视化 ggplot2 工作室
2022-03-09 18:01:54

我有以下类型的数据。但是我想将 X 轴作为年份的图表,并将该年的所有销售额添加到 Y 轴上。

数据框名称是 salesdata。我有近 8000 行数据。列标题如下图所示。

在此处输入图像描述

谢谢!

2个回答

第 1 步:将日期更改为年份

首先,您可以使用以下公式将日期列 (Order_Date) 更改为简单的年份:

> salesdata$Order_Date = format(salesdata$Order_Date, "%Y")

这将为您的订单日期提供销售完成的年份。

第 2 步:总结您的销售数据

在此之后,您可以创建一个包含每年销售数据摘要的向量。这可以使用 tapply 完成:

> tapply(salesdata$Sales, salesdata$Order_Date, FUN=sum)

这将为您提供每年总销售额的概览。

第 3 步:绘制图表

您可以使用 barplot() 使用您在 tapply 函数中获得的值绘制条形图。

单线

作为oneliner的功能:

> barplot(tapply(salesdata$Sales, format(salesdata$Order_Date, "%Y"), FUN=sum))

当然,您可以根据自己的喜好编辑图表。

条形图示例

第 1 步:总结

您可以dplyr为此目的使用该软件包,例如:

library(dplyr)
x %>% 
  group_by(Order_Date) %>% 
  summarise(Sales = sum(Sales))

或者,这种方法也可以,

x %>% 
  group_by(Order_Date) %>% 
  summarise_each(funs(sum))

第 2 步:绘图

完成后,使用ggplot绘制您感兴趣的图,只需使用相应的功能。

其他资源

有关更多详细信息,请访问这些博客 -

希望能帮助到你!